All classes:
- redis.exceptions.RedisError
- redis.exceptions.ConnectionError
- redis.exceptions.TimeoutError
- redis.exceptions.AuthenticationError
- redis.exceptions.AuthorizationError
- redis.exceptions.BusyLoadingError
- redis.exceptions.InvalidResponse
- redis.exceptions.ResponseError
- redis.exceptions.DataError
- redis.exceptions.PubSubError
- redis.exceptions.WatchError
- redis.exceptions.NoScriptError
- redis.exceptions.OutOfMemoryError
- redis.exceptions.ExecAbortError
- redis.exceptions.ReadOnlyError
- redis.exceptions.NoPermissionError
- redis.exceptions.ModuleError
- redis.exceptions.LockError
- redis.exceptions.LockNotOwnedError
- redis.exceptions.ChildDeadlockedError
- redis.exceptions.AuthenticationWrongNumberOfArgsError
- redis.exceptions.RedisClusterException
- redis.exceptions.ClusterError
- redis.exceptions.ClusterDownError
- redis.exceptions.AskError
- redis.exceptions.TryAgainError
- redis.exceptions.ClusterCrossSlotError
- redis.exceptions.MovedError
- redis.exceptions.MasterDownError
- redis.exceptions.SlotNotCoveredError
- redis.exceptions.MaxConnectionsError
- redis.exceptions.CrossSlotTransactionError
- redis.exceptions.InvalidPipelineStack
- redis.exceptions.ExternalAuthProviderError
- redis.exceptions.IncorrectPolicyType
- redis._parsers.encoders.Encoder
- redis.typing.CommandsProtocol
- redis.typing.ClusterCommandsProtocol
- redis.auth.err.RequestTokenErr
- redis.auth.err.InvalidTokenSchemaErr
- redis.auth.err.TokenRenewalErr
- redis.auth.token.TokenInterface
- redis.auth.token.TokenResponse
- redis.auth.token.SimpleToken
- redis.auth.token.JWToken
- redis.driver_info.DriverInfo
- redis.credentials.CredentialProvider
- redis.credentials.StreamingCredentialProvider
- redis.credentials.UsernamePasswordCredentialProvider
- redis.event.EventListenerInterface
- redis.event.AsyncEventListenerInterface
- redis.event.EventDispatcherInterface
- redis.event.EventException
- redis.event.EventDispatcher
- redis.event.AfterConnectionReleasedEvent
- redis.event.AsyncAfterConnectionReleasedEvent
- redis.event.ClientType
- redis.event.AfterPooledConnectionsInstantiationEvent
- redis.event.AfterSingleConnectionInstantiationEvent
- redis.event.AfterPubSubConnectionInstantiationEvent
- redis.event.AfterAsyncClusterInstantiationEvent
- redis.event.OnCommandsFailEvent
- redis.event.AsyncOnCommandsFailEvent
- redis.event.ReAuthConnectionListener
- redis.event.AsyncReAuthConnectionListener
- redis.event.RegisterReAuthForPooledConnections
- redis.event.RegisterReAuthForSingleConnection
- redis.event.RegisterReAuthForAsyncClusterNodes
- redis.event.RegisterReAuthForPubSub
- redis.backoff.AbstractBackoff
- redis.backoff.ConstantBackoff
- redis.backoff.NoBackoff
- redis.backoff.ExponentialBackoff
- redis.backoff.FullJitterBackoff
- redis.backoff.EqualJitterBackoff
- redis.backoff.DecorrelatedJitterBackoff
- redis.backoff.ExponentialWithJitterBackoff
- redis.retry.AbstractRetry
- redis.retry.Retry
- redis.asyncio.retry.Retry
- redis.cache.CacheEntryStatus
- redis.cache.EvictionPolicyType
- redis.cache.CacheKey
- redis.cache.CacheEntry
- redis.cache.EvictionPolicyInterface
- redis.cache.CacheConfigurationInterface
- redis.cache.CacheInterface
- redis.cache.DefaultCache
- redis.cache.LRUPolicy
- redis.cache.EvictionPolicy
- redis.cache.CacheConfig
- redis.cache.CacheFactoryInterface
- redis.cache.CacheFactory
- redis.connection.HiredisRespSerializer
- redis.connection.PythonRespSerializer
- redis.connection.ConnectionInterface
- redis.connection.MaintNotificationsAbstractConnection
- redis.connection.AbstractConnection
- redis.connection.Connection
- redis.connection.CacheProxyConnection
- redis.connection.SSLConnection
- redis.ocsp.OCSPVerifier
- redis.connection.UnixDomainSocketConnection
- redis.connection.ConnectionPoolInterface
- redis.connection.MaintNotificationsAbstractConnectionPool
- redis.connection.ConnectionPool
- redis.connection.BlockingConnectionPool
- redis.asyncio.connection._Sentinel
- redis.asyncio.connection.ConnectCallbackProtocol
- redis.asyncio.connection.AsyncConnectCallbackProtocol
- redis.asyncio.connection.AbstractConnection
- redis.asyncio.connection.Connection
- redis.asyncio.connection.SSLConnection
- redis.asyncio.connection.RedisSSLContext
- redis.asyncio.connection.UnixDomainSocketConnection
- redis.asyncio.connection.ConnectKwargs
- redis.asyncio.connection.ConnectionPool
- redis.asyncio.connection.BlockingConnectionPool
- redis.sentinel.MasterNotFoundError
- redis.sentinel.SlaveNotFoundError
- redis.sentinel.SentinelManagedConnection
- redis.sentinel.SentinelManagedSSLConnection
- redis.sentinel.SentinelConnectionPoolProxy
- redis.sentinel.SentinelConnectionPool
- redis.sentinel.Sentinel
- redis.commands.core.ACLCommands
- redis.commands.core.HotkeysMetricsTypes
- redis.commands.core.ManagementCommands
- redis.commands.core.AsyncManagementCommands
- redis.commands.core.BitFieldOperation
- redis.commands.core.DataPersistOptions
- redis.commands.core.BasicKeyCommands
- redis.commands.core.AsyncBasicKeyCommands
- redis.commands.core.ListCommands
- redis.commands.core.ScanCommands
- redis.commands.core.AsyncScanCommands
- redis.commands.core.SetCommands
- redis.commands.core.StreamCommands
- redis.commands.core.SortedSetCommands
- redis.commands.core.HyperlogCommands
- redis.commands.core.HashDataPersistOptions
- redis.commands.core.HashCommands
- redis.commands.core.Script
- redis.commands.core.AsyncScript
- redis.commands.core.PubSubCommands
- redis.commands.core.ScriptCommands
- redis.commands.core.AsyncScriptCommands
- redis.commands.core.GeoCommands
- redis.commands.core.ModuleCommands
- redis.commands.core.AsyncModuleCommands
- redis.commands.core.ClusterCommands
- redis.commands.core.FunctionCommands
- redis.commands.core.DataAccessCommands
- redis.commands.core.AsyncDataAccessCommands
- redis.commands.core.CoreCommands
- redis.commands.core.AsyncCoreCommands
- redis.commands.bf.commands.BFCommands
- redis.commands.bf.commands.CFCommands
- redis.commands.bf.commands.TOPKCommands
- redis.commands.bf.commands.TDigestCommands
- redis.commands.bf.commands.CMSCommands
- redis.commands.bf.info.BFInfo
- redis.commands.bf.info.CFInfo
- redis.commands.bf.info.CMSInfo
- redis.commands.bf.info.TopKInfo
- redis.commands.bf.info.TDigestInfo
- redis.commands.bf.AbstractBloom
- redis.commands.bf.CMSBloom
- redis.commands.bf.TOPKBloom
- redis.commands.bf.CFBloom
- redis.commands.bf.TDigestBloom
- redis.commands.bf.BFBloom
- redis.commands.json.path.Path
- redis.commands.json.commands.JSONCommands
- redis.commands.json.JSON
- redis.commands.json.ClusterPipeline
- redis.commands.json.Pipeline
- redis.commands.search.aggregation.Limit
- redis.commands.search.aggregation.Reducer
- redis.commands.search.aggregation.SortDirection
- redis.commands.search.aggregation.Asc
- redis.commands.search.aggregation.Desc
- redis.commands.search.aggregation.AggregateRequest
- redis.commands.search.aggregation.Cursor
- redis.commands.search.aggregation.AggregateResult
- redis.commands.search.query.Query
- redis.commands.search.query.Filter
- redis.commands.search.query.NumericFilter
- redis.commands.search.query.GeoFilter
- redis.commands.search.query.SortbyField
- redis.commands.search.hybrid_query.HybridSearchQuery
- redis.commands.search.hybrid_query.VectorSearchMethods
- redis.commands.search.hybrid_query.HybridVsimQuery
- redis.commands.search.hybrid_query.HybridQuery
- redis.commands.search.hybrid_query.CombinationMethods
- redis.commands.search.hybrid_query.CombineResultsMethod
- redis.commands.search.hybrid_query.HybridPostProcessingConfig
- redis.commands.search.hybrid_query.HybridFilter
- redis.commands.search.hybrid_query.HybridCursorQuery
- redis.commands.search.hybrid_result.HybridResult
- redis.commands.search.hybrid_result.HybridCursorResult
- redis.commands.search.document.Document
- redis.commands.search.field.Field
- redis.commands.search.field.TextField
- redis.commands.search.field.NumericField
- redis.commands.search.field.GeoShapeField
- redis.commands.search.field.GeoField
- redis.commands.search.field.TagField
- redis.commands.search.field.VectorField
- redis.commands.search.index_definition.IndexType
- redis.commands.search.index_definition.IndexDefinition
- redis.commands.search.profile_information.ProfileInformation
- redis.commands.search.result.Result
- redis.commands.search.suggestion.Suggestion
- redis.commands.search.suggestion.SuggestionParser
- redis.commands.search.commands.SearchCommands
- redis.commands.search.commands.AsyncSearchCommands
- redis.commands.search.Search
- redis.commands.search.Search.BatchIndexer
- redis.commands.search.AsyncSearch
- redis.commands.search.AsyncSearch.BatchIndexer
- redis.commands.search.Pipeline
- redis.commands.search.AsyncPipeline
- redis.commands.timeseries.commands.TimeSeriesCommands
- redis.commands.timeseries.info.TSInfo
- redis.commands.timeseries.TimeSeries
- redis.commands.timeseries.ClusterPipeline
- redis.commands.timeseries.Pipeline
- redis.commands.vectorset.commands.QuantizationOptions
- redis.commands.vectorset.commands.CallbacksOptions
- redis.commands.vectorset.commands.VectorSetCommands
- redis.commands.vectorset.VectorSet
- redis.commands.redismodules.RedisModuleCommands
- redis.commands.redismodules.AsyncRedisModuleCommands
- redis.commands.cluster.ClusterMultiKeyCommands
- redis.commands.cluster.AsyncClusterMultiKeyCommands
- redis.commands.cluster.ClusterManagementCommands
- redis.commands.cluster.AsyncClusterManagementCommands
- redis.commands.cluster.ClusterDataAccessCommands
- redis.commands.cluster.AsyncClusterDataAccessCommands
- redis.commands.cluster.RedisClusterCommands
- redis.commands.cluster.AsyncRedisClusterCommands
- redis.commands.sentinel.SentinelCommands
- redis.commands.sentinel.AsyncSentinelCommands
- redis.asyncio.sentinel.MasterNotFoundError
- redis.asyncio.sentinel.SlaveNotFoundError
- redis.asyncio.sentinel.SentinelManagedConnection
- redis.asyncio.sentinel.SentinelManagedSSLConnection
- redis.asyncio.sentinel.SentinelConnectionPool
- redis.asyncio.sentinel.Sentinel
- redis.asyncio.utils.pipeline
- redis.asyncio.lock.Lock
- redis.asyncio.client.ResponseCallbackProtocol
- redis.asyncio.client.AsyncResponseCallbackProtocol
- redis.asyncio.client.Redis
- redis.asyncio.client.MonitorCommandInfo
- redis.asyncio.client.Monitor
- redis.asyncio.client.PubSub
- redis.asyncio.client.PubsubWorkerExceptionHandler
- redis.asyncio.client.AsyncPubsubWorkerExceptionHandler
- redis.asyncio.client.Pipeline
- redis.commands.policies.PolicyResolver
- redis.commands.policies.AsyncPolicyResolver
- redis.commands.policies.BasePolicyResolver
- redis.commands.policies.AsyncBasePolicyResolver
- redis.commands.policies.DynamicPolicyResolver
- redis.commands.policies.StaticPolicyResolver
- redis.commands.policies.AsyncDynamicPolicyResolver
- redis.commands.policies.AsyncStaticPolicyResolver
- redis.asyncio.cluster.RedisCluster
- redis.asyncio.cluster.ClusterNode
- redis.asyncio.cluster.NodesManager
- redis.asyncio.cluster.ClusterPipeline
- redis.asyncio.cluster.PipelineCommand
- redis.asyncio.cluster.ExecutionStrategy
- redis.asyncio.cluster.AbstractStrategy
- redis.asyncio.cluster.PipelineStrategy
- redis.asyncio.cluster.TransactionStrategy
- redis._parsers.commands.RequestPolicy
- redis._parsers.commands.ResponsePolicy
- redis._parsers.commands.CommandPolicies
- redis._parsers.commands.AbstractCommandsParser
- redis._parsers.commands.CommandsParser
- redis._parsers.commands.AsyncCommandsParser
- redis.lock.Lock
- redis.cluster.MaintNotificationsAbstractRedisCluster
- redis.cluster.AbstractRedisCluster
- redis.cluster.RedisCluster
- redis.cluster.ClusterNode
- redis.cluster.LoadBalancingStrategy
- redis.cluster.LoadBalancer
- redis.cluster.NodesManager
- redis.cluster.ClusterPubSub
- redis.cluster.ClusterPipeline
- redis.cluster.PipelineCommand
- redis.cluster.NodeCommands
- redis.cluster.ExecutionStrategy
- redis.cluster.AbstractStrategy
- redis.cluster.PipelineStrategy
- redis.cluster.TransactionStrategy
- redis.maint_notifications.MaintenanceState
- redis.maint_notifications.EndpointType
- redis.maint_notifications.MaintenanceNotification
- redis.maint_notifications.NodeMovingNotification
- redis.maint_notifications.NodeMigratingNotification
- redis.maint_notifications.NodeMigratedNotification
- redis.maint_notifications.NodeFailingOverNotification
- redis.maint_notifications.NodeFailedOverNotification
- redis.maint_notifications.OSSNodeMigratingNotification
- redis.maint_notifications.OSSNodeMigratedNotification
- redis.maint_notifications.MaintNotificationsConfig
- redis.maint_notifications.MaintNotificationsPoolHandler
- redis.maint_notifications.MaintNotificationsConnectionHandler
- redis.maint_notifications.OSSMaintNotificationsHandler
- redis._parsers.socket.SocketBuffer
- redis._parsers.base.BaseParser
- redis._parsers.base._RESPBase
- redis._parsers.base.AsyncBaseParser
- redis._parsers.base.MaintenanceNotificationsParser
- redis._parsers.base.PushNotificationsParser
- redis._parsers.base.AsyncPushNotificationsParser
- redis._parsers.base._AsyncRESPBase
- redis._parsers.hiredis._HiredisReaderArgs
- redis._parsers.hiredis._HiredisParser
- redis._parsers.hiredis._AsyncHiredisParser
- redis._parsers.resp2._RESP2Parser
- redis._parsers.resp2._AsyncRESP2Parser
- redis._parsers.resp3._RESP3Parser
- redis._parsers.resp3._AsyncRESP3Parser
- redis.client.CaseInsensitiveDict
- redis.client.AbstractRedis
- redis.client.Redis
- redis.client.Monitor
- redis.client.PubSub
- redis.client.PubSubWorkerThread
- redis.client.Pipeline
- redis.data_structure.WeightedList
- redis.background.BackgroundScheduler
- redis.http.http_client.HttpResponse
- redis.http.http_client.HttpError
- redis.http.http_client.HttpClient
- redis.auth.idp.IdentityProviderInterface
- redis.auth.idp.IdentityProviderConfigInterface
- redis.auth.token_manager.CredentialsListener
- redis.auth.token_manager.RetryPolicy
- redis.auth.token_manager.TokenManagerConfig
- redis.auth.token_manager.TokenManager
- redis.asyncio.http.http_client.AsyncHTTPClient
- redis.asyncio.http.http_client.AsyncHTTPClientWrapper
- redis.multidb.circuit.State
- redis.multidb.circuit.CircuitBreaker
- redis.multidb.circuit.BaseCircuitBreaker
- redis.multidb.circuit.PBListener
- redis.multidb.circuit.PBCircuitBreakerAdapter
- redis.multidb.database.AbstractDatabase
- redis.multidb.database.BaseDatabase
- redis.multidb.database.SyncDatabase
- redis.multidb.database.Database
- redis.asyncio.multidb.database.AsyncDatabase
- redis.asyncio.multidb.database.Database
- redis.multidb.exception.NoValidDatabaseException
- redis.multidb.exception.UnhealthyDatabaseException
- redis.multidb.exception.TemporaryUnavailableException
- redis.multidb.exception.InitialHealthCheckFailedError
- redis.asyncio.multidb.failover.AsyncFailoverStrategy
- redis.asyncio.multidb.failover.FailoverStrategyExecutor
- redis.asyncio.multidb.failover.WeightBasedFailoverStrategy
- redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor
- redis.multidb.failure_detector.FailureDetector
- redis.multidb.failure_detector.CommandFailureDetector
- redis.asyncio.multidb.failure_detector.AsyncFailureDetector
- redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper
- redis.asyncio.multidb.healthcheck.HealthCheck
- redis.asyncio.multidb.healthcheck.HealthCheckPolicy
- redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy
- redis.asyncio.multidb.healthcheck.HealthyAllPolicy
- redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy
- redis.asyncio.multidb.healthcheck.HealthyAnyPolicy
- redis.asyncio.multidb.healthcheck.HealthCheckPolicies
- redis.asyncio.multidb.healthcheck.PingHealthCheck
- redis.asyncio.multidb.healthcheck.LagAwareHealthCheck
- redis.asyncio.multidb.config.InitialHealthCheck
- redis.asyncio.multidb.config.DatabaseConfig
- redis.asyncio.multidb.config.MultiDbConfig
- redis.asyncio.multidb.event.AsyncActiveDatabaseChanged
- redis.asyncio.multidb.event.ResubscribeOnActiveDatabaseChanged
- redis.asyncio.multidb.event.CloseConnectionOnActiveDatabaseChanged
- redis.asyncio.multidb.event.RegisterCommandFailure
- redis.multidb.failover.FailoverStrategy
- redis.multidb.failover.FailoverStrategyExecutor
- redis.multidb.failover.WeightBasedFailoverStrategy
- redis.multidb.failover.DefaultFailoverStrategyExecutor
- redis.multidb.healthcheck.HealthCheck
- redis.multidb.healthcheck.HealthCheckPolicy
- redis.multidb.healthcheck.AbstractHealthCheckPolicy
- redis.multidb.healthcheck.HealthyAllPolicy
- redis.multidb.healthcheck.HealthyMajorityPolicy
- redis.multidb.healthcheck.HealthyAnyPolicy
- redis.multidb.healthcheck.HealthCheckPolicies
- redis.multidb.healthcheck.PingHealthCheck
- redis.multidb.healthcheck.LagAwareHealthCheck
- redis.multidb.config.InitialHealthCheck
- redis.multidb.config.DatabaseConfig
- redis.multidb.config.MultiDbConfig
- redis.multidb.event.ActiveDatabaseChanged
- redis.multidb.event.ResubscribeOnActiveDatabaseChanged
- redis.multidb.event.CloseConnectionOnActiveDatabaseChanged
- redis.multidb.event.RegisterCommandFailure
- redis.multidb.command_executor.CommandExecutor
- redis.multidb.command_executor.BaseCommandExecutor
- redis.multidb.command_executor.SyncCommandExecutor
- redis.multidb.command_executor.DefaultCommandExecutor
- redis.asyncio.multidb.command_executor.AsyncCommandExecutor
- redis.asyncio.multidb.command_executor.DefaultCommandExecutor
- redis.asyncio.multidb.client.MultiDBClient
- redis.asyncio.multidb.client.Pipeline
- redis.asyncio.multidb.client.PubSub
- redis.multidb.client.MultiDBClient
- redis.multidb.client.Pipeline
- redis.multidb.client.PubSub
- redis.commands.search.querystring.Value
- redis.commands.search.querystring.RangeValue
- redis.commands.search.querystring.ScalarValue
- redis.commands.search.querystring.TagValue
- redis.commands.search.querystring.GeoValue
- redis.commands.search.querystring.Node
- redis.commands.search.querystring.BaseNode
- redis.commands.search.querystring.IntersectNode
- redis.commands.search.querystring.UnionNode
- redis.commands.search.querystring.DisjunctNode
- redis.commands.search.querystring.DistjunctUnion
- redis.commands.search.querystring.OptionalNode
- redis.commands.search.reducers.FieldOnlyReducer
- redis.commands.search.reducers.count
- redis.commands.search.reducers.sum
- redis.commands.search.reducers.min
- redis.commands.search.reducers.max
- redis.commands.search.reducers.avg
- redis.commands.search.reducers.tolist
- redis.commands.search.reducers.count_distinct
- redis.commands.search.reducers.count_distinctish
- redis.commands.search.reducers.quantile
- redis.commands.search.reducers.stddev
- redis.commands.search.reducers.first_value
- redis.commands.search.reducers.random_sample
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_func'
    functionSourceFile: '...fuzz_func'
    functionUses: 0
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - atheris.instrument_imports
    - '...fuzz_func.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: '...fuzz_func.dummy_callback'
    functionSourceFile: '...fuzz_func'
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 24
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 24
    functionName: '...fuzz_func.TestInput'
    functionSourceFile: '...fuzz_func'
    functionUses: 0
    functionsReached:
    - redis.client.CaseInsensitiveDict.__init__
    - fdp.ConsumeString
    - atheris.FuzzedDataProvider
    - redis.client.CaseInsensitiveDict.get
    - fdp.ConsumeBool
    - k.upper
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - cid.popitem
    - <builtin>.str
    - redis.client.CaseInsensitiveDict.update
    - fdp.ConsumeInt
    - <builtin>.super
    - fdp.ConsumeUnicode
    - fdp.ConsumeBytes
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - fdp.ConsumeFloat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeString
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeInt
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeFloat
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeBytes
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 748
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeBool
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: redis.client.CaseInsensitiveDict.__init__
    functionSourceFile: redis.client
    functionUses: 560
    functionsReached:
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - k.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cid.popitem
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13033940>
    argNames:
    - self
    - k
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: redis.client.CaseInsensitiveDict.get
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - k.upper
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: redis.client.CaseInsensitiveDict.update
    functionSourceFile: redis.client
    functionUses: 559
    functionsReached:
    - redis.client.CaseInsensitiveDict.__init__
    - k.upper
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - <builtin>.super
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: '...fuzz_func.main'
    functionSourceFile: '...fuzz_func'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis
    functionSourceFile: redis
    functionUses: 0
    functionsReached:
    - <builtin>.map
    - __version__.split
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: redis.int_or_str
    functionSourceFile: redis
    functionUses: 0
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 726
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: __version__.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 763
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 718
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.backoff
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: redis.backoff.AbstractBackoff.reset
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.backoff.AbstractBackoff
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: redis.backoff.AbstractBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - backoff
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: redis.backoff.ConstantBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: redis.backoff.ConstantBackoff.__hash__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hash
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: redis.backoff.ConstantBackoff.__eq__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 1024
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: redis.backoff.ConstantBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: redis.backoff.NoBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 555
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 803
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c13554550>
    - <ast.Name object at 0x7f6c135544f0>
    argNames:
    - self
    - cap
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 57
    functionName: redis.backoff.ExponentialBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: redis.backoff.ExponentialBackoff.__hash__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: redis.backoff.ExponentialBackoff.__eq__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: redis.backoff.ExponentialBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c1391b8e0>
    - <ast.Name object at 0x7f6c1391b580>
    argNames:
    - self
    - cap
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 81
    functionName: redis.backoff.FullJitterBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: redis.backoff.FullJitterBackoff.__hash__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: redis.backoff.FullJitterBackoff.__eq__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: redis.backoff.FullJitterBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - random.uniform
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.uniform
    functionSourceFile: random
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c130647c0>
    - <ast.Name object at 0x7f6c13064700>
    argNames:
    - self
    - cap
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 105
    functionName: redis.backoff.EqualJitterBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: redis.backoff.EqualJitterBackoff.__hash__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: redis.backoff.EqualJitterBackoff.__eq__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: redis.backoff.EqualJitterBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - random.uniform
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c13fa5c40>
    - <ast.Name object at 0x7f6c13fa57c0>
    argNames:
    - self
    - cap
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: redis.backoff.DecorrelatedJitterBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: redis.backoff.DecorrelatedJitterBackoff.__hash__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: redis.backoff.DecorrelatedJitterBackoff.__eq__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: redis.backoff.DecorrelatedJitterBackoff.reset
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: redis.backoff.DecorrelatedJitterBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - random.uniform
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c12e8b820>
    - <ast.Name object at 0x7f6c12e8b6a0>
    argNames:
    - self
    - cap
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 161
    functionName: redis.backoff.ExponentialWithJitterBackoff.__init__
    functionSourceFile: redis.backoff
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: redis.backoff.ExponentialWithJitterBackoff.__hash__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: redis.backoff.ExponentialWithJitterBackoff.__eq__
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: redis.backoff.ExponentialWithJitterBackoff.compute
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - random.random
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.random
    functionSourceFile: random
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: redis.backoff.default_backoff
    functionSourceFile: redis.backoff
    functionUses: 0
    functionsReached:
    - redis.backoff.EqualJitterBackoff.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.sentinel
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: redis.sentinel.SentinelManagedConnection.__init__
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 554
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: redis.sentinel.SentinelManagedConnection.__repr__
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 674
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - address
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 40
    functionName: redis.sentinel.SentinelManagedConnection.connect_to
    functionSourceFile: redis.sentinel
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13818820>
    - <ast.Constant object at 0x7f6c138182e0>
    argNames:
    - self
    - check_health
    - retry_socket_connect
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 953
    functionName: redis.connection.AbstractConnection.connect_check_health
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 48
    functionName: redis.sentinel.SentinelManagedConnection._connect_retry
    functionSourceFile: redis.sentinel
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 61
    functionName: redis.sentinel.SentinelManagedConnection.connect
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - <builtin>.getattr
    - SYM_EMPTY.join
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.sentinel.SentinelManagedConnection.connect.<lambda1>
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134f7640>
    argNames:
    - self
    - do
    - fail
    - is_retryable
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 100
    functionName: redis.retry.Retry.call_with_retry
    functionSourceFile: redis.retry
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - <builtin>.getattr
    - SYM_EMPTY.join
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1416e5e0>
    argNames:
    - self
    - disable_decoding
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 64
    functionName: redis.sentinel.SentinelManagedConnection.read_response
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - <builtin>.super
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1122
    functionName: redis.connection.AbstractConnection.disconnect
    functionSourceFile: redis.connection
    functionUses: 662
    functionsReached:
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - connection_pool
    - is_master
    - check_connection
    - service_name
    - sentinel_manager
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: redis.sentinel.SentinelConnectionPoolProxy.__init__
    functionSourceFile: redis.sentinel
    functionUses: 3
    functionsReached:
    - weakref.ref
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.ref
    functionSourceFile: weakref
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 109
    functionName: redis.sentinel.SentinelConnectionPoolProxy.reset
    functionSourceFile: ''
    functionUses: 607
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: redis.sentinel.SentinelConnectionPoolProxy.get_master_address
    functionSourceFile: redis.sentinel
    functionUses: 3
    functionsReached:
    - collected_errors.append
    - <builtin>.list
    - masters.get
    - redis.sentinel.Sentinel.discover_master
    - <builtin>.enumerate
    - redis.sentinel.Sentinel.check_master_state
    - connection_pool.disconnect
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: redis.sentinel.Sentinel.discover_master
    functionSourceFile: redis.sentinel
    functionUses: 4
    functionsReached:
    - collected_errors.append
    - <builtin>.list
    - masters.get
    - <builtin>.enumerate
    - redis.sentinel.Sentinel.check_master_state
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - MasterNotFoundError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection_pool.disconnect
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 124
    functionName: redis.sentinel.SentinelConnectionPoolProxy.rotate_slaves
    functionSourceFile: redis.sentinel
    functionUses: 1
    functionsReached:
    - collected_errors.append
    - <builtin>.list
    - redis.sentinel.Sentinel.filter_slaves
    - masters.get
    - redis.sentinel.Sentinel.discover_slaves
    - redis.sentinel.Sentinel.discover_master
    - <builtin>.enumerate
    - redis.sentinel.SentinelConnectionPoolProxy.get_master_address
    - slaves_alive.append
    - redis.sentinel.Sentinel.check_master_state
    - random.randint
    - connection_pool.disconnect
    - <builtin>.len
    - <builtin>.range
    - sentinel.sentinel_slaves
    linkageType: pythonLinkage
    raised:
    - SlaveNotFoundError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 346
    functionName: redis.sentinel.Sentinel.discover_slaves
    functionSourceFile: redis.sentinel
    functionUses: 2
    functionsReached:
    - sentinel.sentinel_slaves
    - redis.sentinel.Sentinel.filter_slaves
    - slaves_alive.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 893
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.randint
    functionSourceFile: random
    functionUses: 559
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 683
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - service_name
    - sentinel_manager
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 149
    functionName: redis.sentinel.SentinelConnectionPool.__init__
    functionSourceFile: redis.sentinel
    functionUses: 2
    functionsReached:
    - weakref.ref
    - redis.sentinel.SentinelConnectionPoolProxy.__init__
    - kwargs.pop
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.super
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 727
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: redis.sentinel.SentinelConnectionPool.__repr__
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: redis.sentinel.SentinelConnectionPool.reset
    functionSourceFile: redis.sentinel
    functionUses: 604
    functionsReached:
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: redis.sentinel.SentinelConnectionPool.master_address
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 187
    functionName: redis.sentinel.SentinelConnectionPool.owns_connection
    functionSourceFile: redis.sentinel
    functionUses: 598
    functionsReached:
    - parent.owns_connection
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.owns_connection
    functionSourceFile: <builtin>
    functionUses: 599
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 194
    functionName: redis.sentinel.SentinelConnectionPool.get_master_address
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - collected_errors.append
    - <builtin>.list
    - masters.get
    - redis.sentinel.Sentinel.discover_master
    - <builtin>.enumerate
    - redis.sentinel.SentinelConnectionPoolProxy.get_master_address
    - redis.sentinel.Sentinel.check_master_state
    - connection_pool.disconnect
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 197
    functionName: redis.sentinel.SentinelConnectionPool.rotate_slaves
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - collected_errors.append
    - <builtin>.list
    - redis.sentinel.Sentinel.filter_slaves
    - masters.get
    - redis.sentinel.Sentinel.discover_slaves
    - redis.sentinel.Sentinel.discover_master
    - <builtin>.range
    - <builtin>.enumerate
    - redis.sentinel.SentinelConnectionPoolProxy.get_master_address
    - slaves_alive.append
    - redis.sentinel.Sentinel.check_master_state
    - random.randint
    - connection_pool.disconnect
    - <builtin>.len
    - redis.sentinel.SentinelConnectionPoolProxy.rotate_slaves
    - sentinel.sentinel_slaves
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4bb50>
    - <ast.Constant object at 0x7f6c13c4bb80>
    - <ast.Constant object at 0x7f6c13c4b220>
    argNames:
    - self
    - sentinels
    - min_other_sentinels
    - sentinel_kwargs
    - force_master_ip
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 231
    functionName: redis.sentinel.Sentinel.__init__
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - connection_kwargs.items
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - k.startswith
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection_kwargs.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 12
    IfCount: 12
    argCount: 50
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14122820>
    - <ast.Constant object at 0x7f6c14122760>
    - <ast.Constant object at 0x7f6c14122fd0>
    - <ast.Constant object at 0x7f6c141224f0>
    - <ast.Constant object at 0x7f6c14122b80>
    - <ast.Constant object at 0x7f6c141224c0>
    - <ast.Constant object at 0x7f6c14122cd0>
    - <ast.Constant object at 0x7f6c14122430>
    - <ast.Constant object at 0x7f6c141229d0>
    - <ast.Constant object at 0x7f6c14122160>
    - <ast.Constant object at 0x7f6c14122a60>
    - <ast.Constant object at 0x7f6c14122b50>
    - <ast.Constant object at 0x7f6c14122460>
    - <ast.Constant object at 0x7f6c141227c0>
    - <ast.Call object at 0x7f6c14122190>
    - <ast.Constant object at 0x7f6c141229a0>
    - <ast.Constant object at 0x7f6c14122ca0>
    - <ast.Constant object at 0x7f6c141228e0>
    - <ast.Constant object at 0x7f6c14122880>
    - <ast.Constant object at 0x7f6c14122130>
    - <ast.Constant object at 0x7f6c141220d0>
    - <ast.Constant object at 0x7f6c14122280>
    - <ast.Constant object at 0x7f6c14122af0>
    - <ast.Constant object at 0x7f6c137d4790>
    - <ast.Constant object at 0x7f6c137d4eb0>
    - <ast.Constant object at 0x7f6c137d4be0>
    - <ast.Constant object at 0x7f6c137d41c0>
    - <ast.Constant object at 0x7f6c137d4100>
    - <ast.Constant object at 0x7f6c137d49a0>
    - <ast.Constant object at 0x7f6c137d4e20>
    - <ast.Constant object at 0x7f6c137d4af0>
    - <ast.Constant object at 0x7f6c137d44f0>
    - <ast.Constant object at 0x7f6c137d46a0>
    - <ast.Constant object at 0x7f6c137d4e50>
    - <ast.Constant object at 0x7f6c137d4760>
    - <ast.Constant object at 0x7f6c137d4910>
    - <ast.Constant object at 0x7f6c137d4040>
    - <ast.Constant object at 0x7f6c137d4730>
    - <ast.Constant object at 0x7f6c137d49d0>
    - <ast.Constant object at 0x7f6c137d40d0>
    - <ast.Constant object at 0x7f6c137d4610>
    - <ast.Constant object at 0x7f6c137d4850>
    - <ast.Constant object at 0x7f6c137d48e0>
    - <ast.Constant object at 0x7f6c137d43d0>
    - <ast.Constant object at 0x7f6c137d4970>
    - <ast.Constant object at 0x7f6c137d47c0>
    - <ast.Constant object at 0x7f6c137d4190>
    - <ast.Constant object at 0x7f6c137d4d30>
    - <ast.Constant object at 0x7f6c137d4220>
    argNames:
    - self
    - host
    - port
    - db
    - password
    - socket_timeout
    - socket_connect_timeout
    - socket_keepalive
    - socket_keepalive_options
    - connection_pool
    - unix_socket_path
    - encoding
    - encoding_errors
    - decode_responses
    - retry_on_timeout
    - retry
    - retry_on_error
    - ssl
    - ssl_keyfile
    - ssl_certfile
    - ssl_cert_reqs
    - ssl_include_verify_flags
    - ssl_exclude_verify_flags
    - ssl_ca_certs
    - ssl_ca_path
    - ssl_ca_data
    - ssl_check_hostname
    - ssl_password
    - ssl_validate_ocsp
    - ssl_validate_ocsp_stapled
    - ssl_ocsp_context
    - ssl_ocsp_expected_cert
    - ssl_min_version
    - ssl_ciphers
    - max_connections
    - single_connection_client
    - health_check_interval
    - client_name
    - lib_name
    - lib_version
    - driver_info
    - username
    - redis_connect_func
    - credential_provider
    - protocol
    - cache
    - cache_config
    - event_dispatcher
    - maint_notifications_config
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 209
    functionName: redis.client.Redis.__init__
    functionSourceFile: redis.client
    functionUses: 550
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: redis.sentinel.Sentinel.execute_command
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.all
    - responses.append
    - random.choice
    - sentinel.execute_command
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.choice
    functionSourceFile: random
    functionUses: 546
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sentinel.execute_command
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: responses.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: redis.sentinel.Sentinel.__repr__
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - sentinel_addresses.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sentinel_addresses.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - state
    - service_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 294
    functionName: redis.sentinel.Sentinel.check_master_state
    functionSourceFile: redis.sentinel
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 723
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 614
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collected_errors.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: masters.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slaves
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 337
    functionName: redis.sentinel.Sentinel.filter_slaves
    functionSourceFile: redis.sentinel
    functionUses: 3
    functionsReached:
    - slaves_alive.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slaves_alive.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sentinel.sentinel_slaves
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f6c13372850>
    - <ast.Name object at 0x7f6c13372520>
    argNames:
    - self
    - service_name
    - redis_class
    - connection_pool_class
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 358
    functionName: redis.sentinel.Sentinel.master_for
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - weakref.ref
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - connection_kwargs.update
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.sentinel.SentinelConnectionPoolProxy.__init__
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.client.Redis.from_pool
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.sentinel.SentinelConnectionPool.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 623
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - connection_pool
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 184
    functionName: redis.client.Redis.from_pool
    functionSourceFile: redis.client
    functionUses: 2
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f6c12e5f3a0>
    - <ast.Name object at 0x7f6c12e5fd30>
    argNames:
    - self
    - service_name
    - redis_class
    - connection_pool_class
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 396
    functionName: redis.sentinel.Sentinel.slave_for
    functionSourceFile: redis.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - weakref.ref
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - connection_kwargs.update
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.sentinel.SentinelConnectionPoolProxy.__init__
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.client.Redis.from_pool
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.sentinel.SentinelConnectionPool.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.exceptions
    functionSourceFile: redis.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13527730>
    - <ast.Constant object at 0x7f6c13527e50>
    argNames:
    - self
    - message
    - lock_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 86
    functionName: redis.exceptions.LockError.__init__
    functionSourceFile: redis.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - resp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 140
    functionName: redis.exceptions.ClusterDownError.__init__
    functionSourceFile: redis.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - resp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: redis.exceptions.AskError.__init__
    functionSourceFile: redis.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - new_node.rsplit
    - resp.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_node.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: redis.exceptions.TryAgainError.__init__
    functionSourceFile: redis.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands
    functionSourceFile: redis.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.sentinel
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: redis.commands.sentinel.SentinelCommands.sentinel
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.DeprecationWarning
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.DeprecationWarning
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141374f0>
    argNames:
    - self
    - service_name
    - return_responses
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 14
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_get_master_addr_by_name
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 692
    functionName: redis.client.Redis.execute_command
    functionSourceFile: redis.client
    functionUses: 542
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 730
    functionName: redis.asyncio.client.Redis.execute_command
    functionSourceFile: redis.asyncio.client
    functionUses: 508
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - conn.retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.check_health
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1424
    functionName: redis.asyncio.client.Pipeline.execute_command
    functionSourceFile: redis.asyncio.client
    functionUses: 511
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 1507
    functionName: redis.client.Pipeline.execute_command
    functionSourceFile: redis.client
    functionUses: 545
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149df1c0>
    argNames:
    - self
    - service_name
    - return_responses
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 26
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_master
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 35
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_masters
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - ip
    - port
    - quorum
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 45
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_monitor
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 49
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_remove
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cddb50>
    argNames:
    - self
    - service_name
    - return_responses
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 53
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_sentinels
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - option
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 62
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_set
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 66
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_slaves
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pattern
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 76
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_reset
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - new_master_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 87
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_failover
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - new_master_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 96
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_ckquorum
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 107
    functionName: redis.commands.sentinel.SentinelCommands.sentinel_flushconfig
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._connect
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.hasattr
    - key.decode
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - typing.cast.retry.call_with_retry
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - asyncio.timeout
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.client.Redis.execute_command
    - redis.asyncio.connection.Connection._connection_arguments
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: redis.commands.sentinel.AsyncSentinelCommands.sentinel
    functionSourceFile: redis.commands.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.cluster
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    functionSourceFile: redis.commands.cluster
    functionUses: 9
    functionsReached:
    - binascii.crc_hqx
    - redis.crc.key_slot
    - slots_to_keys.setdefault
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7f6c137f4520>
    argNames:
    - key
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 12
    functionName: redis.crc.key_slot
    functionSourceFile: redis.crc
    functionUses: 563
    functionsReached:
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots_to_keys.setdefault
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: redis.commands.cluster.ClusterMultiKeyCommands._partition_pairs_by_slot
    functionSourceFile: redis.commands.cluster
    functionUses: 2
    functionsReached:
    - redis.crc.key_slot
    - slots_to_pairs.setdefault
    - mapping.items
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.items
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots_to_pairs.setdefault
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - slots_to_args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 194
    functionName: redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    functionSourceFile: redis.commands.cluster
    functionUses: 7
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.asyncio.cluster.RedisCluster.pipeline
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.RedisCluster.pipeline
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.TransactionStrategy.__init__
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a48100>
    - <ast.Constant object at 0x7f6c13a48be0>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1074
    functionName: redis.cluster.RedisCluster.pipeline
    functionSourceFile: redis.cluster
    functionUses: 9
    functionsReached:
    - redis.cluster.ClusterPipeline.__init__
    - copy.copy.update_supported_errors
    - threading.RLock
    - copy.copy
    - redis.retry.Retry.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - <builtin>.super
    - kwargs.get
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.TransactionStrategy.__init__
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d2f700>
    - <ast.Constant object at 0x7f6c12d2f6a0>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1031
    functionName: redis.asyncio.cluster.RedisCluster.pipeline
    functionSourceFile: redis.asyncio.cluster
    functionUses: 13
    functionsReached:
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - copy.copy
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13586c70>
    - <ast.Constant object at 0x7f6c13586f70>
    - <ast.Constant object at 0x7f6c13586100>
    argNames:
    - self
    - slot
    - read_from_replicas
    - load_balancing_strategy
    - server_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1908
    functionName: redis.cluster.NodesManager.get_node_from_slot
    functionSourceFile: redis.cluster
    functionUses: 543
    functionsReached:
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.cluster.LoadBalancer.get_server_index
    - random.randint
    - redis.cluster.LoadBalancer._get_random_replica_index
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - SlotNotCoveredError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13aeb430>
    - <ast.Constant object at 0x7f6c13aebdc0>
    argNames:
    - self
    - slot
    - read_from_replicas
    - load_balancing_strategy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1567
    functionName: redis.asyncio.cluster.NodesManager.get_node_from_slot
    functionSourceFile: redis.asyncio.cluster
    functionUses: 531
    functionsReached:
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.cluster.LoadBalancer.get_server_index
    - random.randint
    - redis.cluster.LoadBalancer._get_random_replica_index
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - SlotNotCoveredError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2709
    functionName: redis.cluster.ClusterPipeline.execute_command
    functionSourceFile: redis.cluster
    functionUses: 529
    functionsReached:
    - typing.Protocol._execution_strategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1838
    functionName: redis.asyncio.cluster.ClusterPipeline.execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 529
    functionsReached:
    - typing.Protocol._execution_strategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots_to_args.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cd5310>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2735
    functionName: redis.cluster.ClusterPipeline.execute
    functionSourceFile: redis.cluster
    functionUses: 8
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.ClusterPipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13630730>
    - <ast.Constant object at 0x7f6c149e9f40>
    argNames:
    - self
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1854
    functionName: redis.asyncio.cluster.ClusterPipeline.execute
    functionSourceFile: redis.asyncio.cluster
    functionUses: 12
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - typing.Protocol._execution_strategy.reset
    - redis.asyncio.cluster.ClusterPipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - keys
    - slots_to_args
    - responses
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: redis.commands.cluster.ClusterMultiKeyCommands._reorder_keys_by_command
    functionSourceFile: redis.commands.cluster
    functionUses: 2
    functionsReached:
    - slots_to_args.values
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots_to_args.values
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 596
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 224
    functionName: redis.commands.cluster.ClusterMultiKeyCommands.mget_nonatomic
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - <builtin>.zip
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.cluster.TransactionStrategy.__init__
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - keys.extend
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.commands.helpers.list_or_args
    - redis.cluster.ClusterPipeline.execute_command
    - slots_to_args.values
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - <builtin>.list
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - <builtin>.isinstance
    - redis.commands.cluster.ClusterMultiKeyCommands._reorder_keys_by_command
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - <builtin>.iter
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: redis.commands.helpers.list_or_args
    functionSourceFile: redis.commands.helpers
    functionUses: 31
    functionsReached:
    - keys.extend
    - <builtin>.list
    - <builtin>.isinstance
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 247
    functionName: redis.commands.cluster.ClusterMultiKeyCommands.mset_nonatomic
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.asyncio.cluster.RedisCluster.pipeline
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - slots_to_pairs.setdefault
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_pairs_by_slot
    - copy.copy
    - redis.cluster.RedisCluster.pipeline
    - redis.cluster.LoadBalancer.get_server_index
    - mapping.items
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.TransactionStrategy.__init__
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 266
    functionName: redis.commands.cluster.ClusterMultiKeyCommands._split_command_across_slots
    functionSourceFile: redis.commands.cluster
    functionUses: 4
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.cluster.TransactionStrategy.__init__
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.sum
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 578
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 278
    functionName: redis.commands.cluster.ClusterMultiKeyCommands.exists
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.cluster.TransactionStrategy.__init__
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.commands.cluster.ClusterMultiKeyCommands._split_command_across_slots
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - redis.asyncio.cluster.ClusterPipeline._split_command_across_slots
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.sum
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1879
    functionName: redis.asyncio.cluster.ClusterPipeline._split_command_across_slots
    functionSourceFile: redis.asyncio.cluster
    functionUses: 4
    functionsReached:
    - redis.crc.key_slot
    - binascii.crc_hqx
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 288
    functionName: redis.commands.cluster.ClusterMultiKeyCommands.delete
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.cluster.TransactionStrategy.__init__
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.commands.cluster.ClusterMultiKeyCommands._split_command_across_slots
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - redis.asyncio.cluster.ClusterPipeline._split_command_across_slots
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.sum
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 301
    functionName: redis.commands.cluster.ClusterMultiKeyCommands.touch
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.cluster.TransactionStrategy.__init__
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.commands.cluster.ClusterMultiKeyCommands._split_command_across_slots
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - redis.asyncio.cluster.ClusterPipeline._split_command_across_slots
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.sum
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 316
    functionName: redis.commands.cluster.ClusterMultiKeyCommands.unlink
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.cluster.ClusterPipeline.__init__
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.cluster.TransactionStrategy.__init__
    - typing.Protocol._execution_strategy.reset
    - redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - slots_to_keys.setdefault
    - typing.Protocol._execution_strategy.execute_command
    - <builtin>.super
    - kwargs.get
    - redis.commands.cluster.ClusterMultiKeyCommands._split_command_across_slots
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.ClusterPipeline.execute
    - redis.retry.Retry.__init__
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - redis.asyncio.cluster.ClusterPipeline._split_command_across_slots
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.sum
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.cluster.ClusterPipeline.execute
    - <builtin>.len
    - slots_to_args.items
    - binascii.crc_hqx
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - redis.cluster.NodesManager.get_node_from_slot
    - threading.RLock
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 336
    functionName: redis.commands.cluster.AsyncClusterMultiKeyCommands.mget_nonatomic
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - nodes_for_slot.append
    - old.keys
    - threading.Lock
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.utils.str_if_bytes
    - redis.commands.helpers.list_or_args
    - random.randint
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - conn.mark_for_reconnect
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - typing.Protocol._execution_strategy.initialize
    - <builtin>.zip
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - slots_to_keys.setdefault
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - socket.gethostbyname
    - old.pop
    - slots_to_args.values
    - redis.asyncio.cluster.ClusterPipeline.execute
    - removed_node.update_active_connections_for_reconnect
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - <builtin>.type
    - slots_to_args.items
    - new.items
    - binascii.crc_hqx
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - <builtin>.iter
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - keys.extend
    - startup_node.execute_command
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.cluster.get_node_name
    - redis.commands.cluster.AsyncClusterMultiKeyCommands._execute_pipeline_by_slot
    - <builtin>.isinstance
    - redis.commands.cluster.ClusterMultiKeyCommands._reorder_keys_by_command
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - listener.listen
    - <builtin>.tuple
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.asyncio.cluster.ClusterPipeline.initialize
    - asyncio.Lock
    - redis.asyncio.cluster.ClusterPipeline.reset
    - connection_kwargs.pop
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.asyncio.cluster.RedisCluster.initialize
    - tmp_nodes_cache.get
    - asyncio.gather
    - <builtin>.int
    - redis.cluster.LoadBalancer.get_server_index
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - slots_to_args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 390
    functionName: redis.commands.cluster.AsyncClusterMultiKeyCommands._execute_pipeline_by_slot
    functionSourceFile: redis.commands.cluster
    functionUses: 3
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.cluster.RedisCluster.pipeline
    - nodes_for_slot.append
    - typing.Protocol._execution_strategy.reset
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.cluster.LoadBalancer._get_round_robin_index
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - <builtin>.tuple
    - redis.event.RegisterReAuthForPubSub.__init__
    - typing.Protocol._execution_strategy.execute_command
    - threading.Lock
    - <builtin>.super
    - typing.Protocol.decode
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - startup_node.execute_command
    - abc.ABC.__init__
    - redis.utils.str_if_bytes
    - socket.gethostbyname
    - old.pop
    - redis.asyncio.cluster.ClusterPipeline.execute
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - abc.ABC._event_listeners_mapping.get
    - collections.deque
    - random.randint
    - redis.asyncio.cluster.ClusterPipeline.initialize
    - removed_node.update_active_connections_for_reconnect
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.ClusterPipeline.reset
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - copy.copy.update_supported_errors
    - redis.cluster.get_node_name
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.event.EventDispatcher.__init__
    - tmp_nodes_cache.get
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - asyncio.gather
    - slots_to_args.items
    - <builtin>.int
    - new.items
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - listener.listen
    - conn.mark_for_reconnect
    - copy.copy
    - redis.cluster.LoadBalancer.get_server_index
    - redis.cluster.LoadBalancer.reset
    - asyncio.create_task
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - node.disconnect
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - typing.Protocol._execution_strategy.initialize
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 359
    functionName: redis.commands.cluster.AsyncClusterMultiKeyCommands.mset_nonatomic
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - old.keys
    - threading.Lock
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.utils.str_if_bytes
    - random.randint
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - conn.mark_for_reconnect
    - asyncio.create_task
    - mapping.items
    - redis.cluster.LoadBalancer._get_random_replica_index
    - typing.Protocol._execution_strategy.initialize
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - socket.gethostbyname
    - old.pop
    - redis.asyncio.cluster.ClusterPipeline.execute
    - removed_node.update_active_connections_for_reconnect
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - <builtin>.type
    - slots_to_pairs.setdefault
    - slots_to_args.items
    - new.items
    - binascii.crc_hqx
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - startup_node.execute_command
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.cluster.get_node_name
    - redis.commands.cluster.AsyncClusterMultiKeyCommands._execute_pipeline_by_slot
    - <builtin>.isinstance
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - listener.listen
    - <builtin>.tuple
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.asyncio.cluster.ClusterPipeline.initialize
    - asyncio.Lock
    - redis.asyncio.cluster.ClusterPipeline.reset
    - connection_kwargs.pop
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.asyncio.cluster.RedisCluster.initialize
    - tmp_nodes_cache.get
    - asyncio.gather
    - <builtin>.int
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_pairs_by_slot
    - redis.cluster.LoadBalancer.get_server_index
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 378
    functionName: redis.commands.cluster.AsyncClusterMultiKeyCommands._split_command_across_slots
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot
    - nodes_for_slot.append
    - old.keys
    - threading.Lock
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.utils.str_if_bytes
    - random.randint
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.sum
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - conn.mark_for_reconnect
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - typing.Protocol._execution_strategy.initialize
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - slots_to_keys.setdefault
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - socket.gethostbyname
    - old.pop
    - redis.asyncio.cluster.ClusterPipeline.execute
    - removed_node.update_active_connections_for_reconnect
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - <builtin>.type
    - slots_to_args.items
    - new.items
    - binascii.crc_hqx
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - startup_node.execute_command
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - copy.copy.update_supported_errors
    - redis.cluster.get_node_name
    - redis.commands.cluster.AsyncClusterMultiKeyCommands._execute_pipeline_by_slot
    - <builtin>.isinstance
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - listener.listen
    - <builtin>.tuple
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.asyncio.cluster.ClusterPipeline.initialize
    - asyncio.Lock
    - redis.asyncio.cluster.ClusterPipeline.reset
    - connection_kwargs.pop
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.asyncio.cluster.RedisCluster.initialize
    - tmp_nodes_cache.get
    - asyncio.gather
    - <builtin>.int
    - redis.cluster.LoadBalancer.get_server_index
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 478
    functionName: redis.asyncio.cluster.RedisCluster.initialize
    functionSourceFile: redis.asyncio.cluster
    functionUses: 523
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - <builtin>.tuple
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - typing.Protocol.decode
    - startup_node.execute_command
    - abc.ABC.__init__
    - redis.utils.str_if_bytes
    - socket.gethostbyname
    - old.pop
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - removed_node.update_active_connections_for_reconnect
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.event.EventDispatcher.__init__
    - tmp_nodes_cache.get
    - <builtin>.len
    - asyncio.gather
    - <builtin>.int
    - new.items
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - listener.listen
    - conn.mark_for_reconnect
    - redis.cluster.LoadBalancer.reset
    - asyncio.create_task
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - node.disconnect
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1818
    functionName: redis.asyncio.cluster.ClusterPipeline.initialize
    functionSourceFile: redis.asyncio.cluster
    functionUses: 6
    functionsReached:
    - typing.Protocol._execution_strategy.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: redis.commands.cluster.ClusterManagementCommands.slaveof
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 426
    functionName: redis.commands.cluster.ClusterManagementCommands.replicaof
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 434
    functionName: redis.commands.cluster.ClusterManagementCommands.swapdb
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 442
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_myid
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 1353
    functionName: redis.cluster.RedisCluster.execute_command
    functionSourceFile: redis.cluster
    functionUses: 521
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - num_versions2.append
    - time.monotonic
    - threading.Lock
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.policies.BasePolicyResolver.resolve
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.cluster.RedisCluster._process_result
    - sock.connect
    - abc.ABC.__init__
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - <builtin>.set
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 3
    IfCount: 15
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 820
    functionName: redis.asyncio.cluster.RedisCluster.execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 516
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - threading.Lock
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.initialize
    - slot_nodes.remove
    - redis.cluster.RedisCluster.get_replicas
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - conn.mark_for_reconnect
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - slot_nodes.append
    - <builtin>.zip
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - slots.pop
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - removed_node.update_active_connections_for_reconnect
    - kwargs.pop
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.list
    - <builtin>.type
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.asyncio.cluster.NodesManager.get_node
    - binascii.crc_hqx
    - redis.asyncio.cluster.RedisCluster.keyslot
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.LoadBalancer.reset
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - typing.Protocol.decode
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.cluster.RedisCluster.get_primaries
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - listener.listen
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - <builtin>.tuple
    - random.randrange
    - target_node.execute_command
    - command.lower
    - asyncio.Lock
    - connection_kwargs.pop
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.asyncio.cluster.RedisCluster.initialize
    - tmp_nodes_cache.get
    - asyncio.gather
    - <builtin>.int
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target_node
    - slots
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 453
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_addslots
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target_node
    - slots
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 468
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_addslotsrange
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slot_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 486
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_countkeysinslot
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 495
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_count_failure_report
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slots
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 504
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_delslots
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slots
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 515
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_delslotsrange
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12da5820>
    argNames:
    - self
    - target_node
    - option
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 526
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_failover
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - option.upper
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: option.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142b2100>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 550
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_info
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 560
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_keyslot
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b52b0>
    argNames:
    - self
    - host
    - port
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 569
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_meet
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 582
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_nodes
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    - node_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 591
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_replicate
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b5580>
    - <ast.Constant object at 0x7f6c1420a430>
    argNames:
    - self
    - soft
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 603
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_reset
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1420aa30>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 618
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_save_config
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - slot
    - num_keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 628
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_get_keys_in_slot
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377e8e0>
    argNames:
    - self
    - epoch
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 636
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_set_config_epoch
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - target_node
    - node_id
    - slot_id
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 648
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_setslot
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - state.upper
    - conn.connect
    - redis.connection.AbstractConnection.connect_check_health
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: state.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slot_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 668
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_setslot_stable
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143e0d60>
    argNames:
    - self
    - node_id
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 677
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_replicas
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143e0a00>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 690
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_slots
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143e0fa0>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 698
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_shards
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13167ca0>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 706
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_myshardid
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 714
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_links
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13167100>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 726
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_flushslots
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c131678e0>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 731
    functionName: redis.commands.cluster.ClusterManagementCommands.cluster_bumpepoch
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c131670d0>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 736
    functionName: redis.commands.cluster.ClusterManagementCommands.readonly
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c132460a0>
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 750
    functionName: redis.commands.cluster.ClusterManagementCommands.readwrite
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - asyncio.create_task
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - collections.OrderedDict
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.cluster.RedisCluster._process_result
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - version2.split
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - command.lower
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - connection_kwargs.pop
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - <builtin>.int
    - entry.connection_ref.can_read
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - node.disconnect
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.cluster.ClusterManagementCommands
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_function
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13586280>
    - <ast.Constant object at 0x7f6c13586c40>
    - <ast.Constant object at 0x7f6c13586ca0>
    argNames:
    - reason
    - version
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: redis.utils.deprecated_function
    functionSourceFile: ''
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: redis.utils.deprecated_function.decorator
    functionSourceFile: redis.utils
    functionUses: 11
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13246b80>
    - <ast.List object at 0x7f6c13246460>
    - <ast.Constant object at 0x7f6c13246100>
    - <ast.Constant object at 0x7f6c13246c10>
    - <ast.Constant object at 0x7f6c13246df0>
    - <ast.Constant object at 0x7f6c13246280>
    - <ast.Constant object at 0x7f6c140c8e50>
    argNames:
    - self
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 766
    functionName: redis.commands.cluster.ClusterManagementCommands.client_tracking_on
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.commands.core.ManagementCommands.client_tracking
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13527ca0>
    - <ast.Constant object at 0x7f6c13527910>
    - <ast.List object at 0x7f6c13527970>
    - <ast.Constant object at 0x7f6c13527610>
    - <ast.Constant object at 0x7f6c135277f0>
    - <ast.Constant object at 0x7f6c13527670>
    - <ast.Constant object at 0x7f6c13527d30>
    argNames:
    - self
    - 'on'
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 644
    functionName: redis.commands.core.ManagementCommands.client_tracking
    functionSourceFile: redis.commands.core
    functionUses: 6
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140c8970>
    - <ast.List object at 0x7f6c140c8400>
    - <ast.Constant object at 0x7f6c140c8d00>
    - <ast.Constant object at 0x7f6c140c88e0>
    - <ast.Constant object at 0x7f6c140c8460>
    - <ast.Constant object at 0x7f6c140c8be0>
    - <ast.Constant object at 0x7f6c140c81c0>
    argNames:
    - self
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 801
    functionName: redis.commands.cluster.ClusterManagementCommands.client_tracking_off
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.commands.core.ManagementCommands.client_tracking
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13b90940>
    - <ast.Constant object at 0x7f6c13b90e20>
    - <ast.Constant object at 0x7f6c13b90d30>
    - <ast.Constant object at 0x7f6c13b90880>
    argNames:
    - self
    - metrics
    - count
    - duration
    - sample_ratio
    - slots
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 832
    functionName: redis.commands.cluster.ClusterManagementCommands.hotkeys_start
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 850
    functionName: redis.commands.cluster.ClusterManagementCommands.hotkeys_stop
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 860
    functionName: redis.commands.cluster.ClusterManagementCommands.hotkeys_reset
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 870
    functionName: redis.commands.cluster.ClusterManagementCommands.hotkeys_get
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slots
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 891
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.cluster_delslots
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - threading.Lock
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.initialize
    - slot_nodes.remove
    - redis.cluster.RedisCluster.get_replicas
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - conn.mark_for_reconnect
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - slot_nodes.append
    - <builtin>.zip
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - redis.asyncio.cluster.RedisCluster.get_node
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - slots.pop
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - removed_node.update_active_connections_for_reconnect
    - kwargs.pop
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.list
    - <builtin>.type
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - new.items
    - redis.asyncio.cluster.NodesManager.get_node
    - binascii.crc_hqx
    - redis.asyncio.cluster.RedisCluster.keyslot
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.LoadBalancer.reset
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - typing.Protocol._execution_strategy.execute_command
    - typing.Protocol.decode
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.cluster.RedisCluster.get_primaries
    - removed_node.disconnect_free_connections
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - listener.listen
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - <builtin>.tuple
    - random.randrange
    - target_node.execute_command
    - command.lower
    - redis.asyncio.cluster.RedisCluster.execute_command
    - asyncio.Lock
    - connection_kwargs.pop
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.asyncio.cluster.RedisCluster.initialize
    - tmp_nodes_cache.get
    - asyncio.gather
    - <builtin>.int
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.create_task
    functionSourceFile: asyncio
    functionUses: 546
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.gather
    functionSourceFile: asyncio
    functionUses: 552
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.cluster.AsyncClusterManagementCommands
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_function
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1334b880>
    - <ast.List object at 0x7f6c1334b250>
    - <ast.Constant object at 0x7f6c1334b3d0>
    - <ast.Constant object at 0x7f6c1334bb20>
    - <ast.Constant object at 0x7f6c1334b2e0>
    - <ast.Constant object at 0x7f6c1334bd00>
    - <ast.Constant object at 0x7f6c1334b2b0>
    argNames:
    - self
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 911
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.client_tracking_on
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.commands.core.ManagementCommands.client_tracking
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1334b040>
    - <ast.List object at 0x7f6c1334b610>
    - <ast.Constant object at 0x7f6c1334ba30>
    - <ast.Constant object at 0x7f6c1334bb50>
    - <ast.Constant object at 0x7f6c1334bbe0>
    - <ast.Constant object at 0x7f6c1334b190>
    - <ast.Constant object at 0x7f6c1334be50>
    argNames:
    - self
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    - target_nodes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 946
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.client_tracking_off
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.commands.core.ManagementCommands.client_tracking
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c131bed60>
    - <ast.Constant object at 0x7f6c131be760>
    - <ast.Constant object at 0x7f6c131bed00>
    - <ast.Constant object at 0x7f6c131be2e0>
    argNames:
    - self
    - metrics
    - count
    - duration
    - sample_ratio
    - slots
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 977
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_start
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 995
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_stop
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1005
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_reset
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1015
    functionName: redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_get
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13b08f10>
    - <ast.Constant object at 0x7f6c13b08fd0>
    - <ast.Constant object at 0x7f6c13b08df0>
    - <ast.Constant object at 0x7f6c13b08d60>
    - <ast.Constant object at 0x7f6c13b08fa0>
    argNames:
    - self
    - algo
    - value1
    - value2
    - specific_argument
    - len
    - idx
    - minmatchlen
    - withmatchlen
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1036
    functionName: redis.commands.cluster.ClusterDataAccessCommands.stralgo
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    - kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.update
    functionSourceFile: <builtin>
    functionUses: 565
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149f0c40>
    - <ast.Constant object at 0x7f6c149f0220>
    - <ast.Constant object at 0x7f6c149f0880>
    argNames:
    - self
    - match
    - count
    - _type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 1083
    functionName: redis.commands.cluster.ClusterDataAccessCommands.scan_iter
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - cursors.items
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - cursors.keys
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.commands.core.ScanCommands.scan
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134c44f0>
    - <ast.Constant object at 0x7f6c134c4be0>
    - <ast.Constant object at 0x7f6c134c46a0>
    - <ast.Constant object at 0x7f6c134c4190>
    argNames:
    - self
    - cursor
    - match
    - count
    - _type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3312
    functionName: redis.commands.core.ScanCommands.scan
    functionSourceFile: redis.commands.core
    functionUses: 4
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cursors.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139864f0>
    - <ast.Constant object at 0x7f6c13986d60>
    - <ast.Constant object at 0x7f6c139862b0>
    argNames:
    - self
    - host
    - port
    - node_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 617
    functionName: redis.asyncio.cluster.RedisCluster.get_node
    functionSourceFile: redis.asyncio.cluster
    functionUses: 519
    functionsReached:
    - socket.gethostbyname
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.cluster.get_node_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149f0af0>
    - <ast.Constant object at 0x7f6c149f09a0>
    - <ast.Constant object at 0x7f6c149f0bb0>
    argNames:
    - self
    - host
    - port
    - node_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 915
    functionName: redis.cluster.RedisCluster.get_node
    functionSourceFile: redis.cluster
    functionUses: 529
    functionsReached:
    - socket.gethostbyname
    - redis.cluster.get_node_name
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cursors.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13064700>
    - <ast.Constant object at 0x7f6c13064ee0>
    - <ast.Constant object at 0x7f6c130646d0>
    argNames:
    - self
    - match
    - count
    - _type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 1129
    functionName: redis.commands.cluster.AsyncClusterDataAccessCommands.scan_iter
    functionSourceFile: redis.commands.cluster
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - cursors.items
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - cursors.keys
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.commands.core.ScanCommands.scan
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - typing.TypeVar
    - redis.cluster.block_pipeline_command
    - command.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 205
    functionName: redis.asyncio.cluster.RedisCluster.from_url
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.ClusterNode.__init__
    - passed_nodes.append
    - urllib.parse.unquote.replace
    - urllib.parse.unquote
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.__init__
    - abc.ABC.__init__
    - kwargs.update
    - socket.gethostbyname
    - collections.deque
    - kwargs.pop
    - redis.cluster.LoadBalancer.__init__
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.NodesManager.__init__
    - connection_kwargs.pop
    - <builtin>.list
    - urllib.parse.parse_qs
    - startup_nodes.append
    - redis.cluster.get_node_name
    - URL_QUERY_ARGUMENT_PARSERS.get
    - redis.asyncio.retry.Retry.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.event.EventDispatcher.__init__
    - <builtin>.len
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.int
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - typing.Protocol.__class__.NODE_FLAGS.copy
    - redis.asyncio.connection.parse_url
    - urllib.parse.parse_qs.items
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - urllib.parse.urlparse
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - _RedisCallbacks.copy
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 0
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1088
    functionName: redis.asyncio.connection.parse_url
    functionSourceFile: redis.asyncio.connection
    functionUses: 4
    functionsReached:
    - urllib.parse.parse_qs
    - urllib.parse.parse_qs.items
    - URL_QUERY_ARGUMENT_PARSERS.get
    - urllib.parse.urlparse
    - urllib.parse.unquote.replace
    - urllib.parse.unquote
    - <builtin>.len
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 6
    IfCount: 11
    argCount: 44
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fc1700>
    - <ast.Constant object at 0x7f6c13fc1d30>
    - <ast.Constant object at 0x7f6c13fc11c0>
    - <ast.Constant object at 0x7f6c13fc13a0>
    - <ast.Constant object at 0x7f6c13fc16a0>
    - <ast.Constant object at 0x7f6c13fc12e0>
    - <ast.Constant object at 0x7f6c13fc1c70>
    - <ast.Constant object at 0x7f6c13fc1100>
    - <ast.Constant object at 0x7f6c13fc1d60>
    - <ast.BinOp object at 0x7f6c13fc1070>
    - <ast.Constant object at 0x7f6c13fc1c40>
    - <ast.Constant object at 0x7f6c12faf400>
    - <ast.Constant object at 0x7f6c12faf3a0>
    - <ast.Constant object at 0x7f6c12faf7c0>
    - <ast.Constant object at 0x7f6c12faf490>
    - <ast.Constant object at 0x7f6c12fafdf0>
    - <ast.Constant object at 0x7f6c12fafc40>
    - <ast.Constant object at 0x7f6c12faf910>
    - <ast.Constant object at 0x7f6c12faf460>
    - <ast.Call object at 0x7f6c12faf1f0>
    - <ast.Constant object at 0x7f6c12faf4f0>
    - <ast.Constant object at 0x7f6c12fafb50>
    - <ast.Constant object at 0x7f6c12faf9a0>
    - <ast.Constant object at 0x7f6c12faf640>
    - <ast.Constant object at 0x7f6c12faf430>
    - <ast.Constant object at 0x7f6c12faffd0>
    - <ast.Constant object at 0x7f6c12faf100>
    - <ast.Constant object at 0x7f6c12faff70>
    - <ast.Constant object at 0x7f6c12faf2e0>
    - <ast.Constant object at 0x7f6c12faff40>
    - <ast.Constant object at 0x7f6c12fafee0>
    - <ast.Constant object at 0x7f6c12faf820>
    - <ast.Constant object at 0x7f6c12faf6a0>
    - <ast.Constant object at 0x7f6c12fafe80>
    - <ast.Constant object at 0x7f6c12faf340>
    - <ast.Constant object at 0x7f6c12fafca0>
    - <ast.Constant object at 0x7f6c12fafc70>
    - <ast.Constant object at 0x7f6c12faf070>
    - <ast.Constant object at 0x7f6c12faf040>
    - <ast.Constant object at 0x7f6c12faf610>
    - <ast.Constant object at 0x7f6c12fafdc0>
    - <ast.Constant object at 0x7f6c12faf520>
    - <ast.Call object at 0x7f6c12faf0d0>
    argNames:
    - self
    - host
    - port
    - startup_nodes
    - require_full_coverage
    - read_from_replicas
    - load_balancing_strategy
    - dynamic_startup_nodes
    - reinitialize_steps
    - cluster_error_retry_attempts
    - max_connections
    - retry
    - retry_on_error
    - db
    - path
    - credential_provider
    - username
    - password
    - client_name
    - lib_name
    - lib_version
    - encoding
    - encoding_errors
    - decode_responses
    - health_check_interval
    - socket_connect_timeout
    - socket_keepalive
    - socket_keepalive_options
    - socket_timeout
    - ssl
    - ssl_ca_certs
    - ssl_ca_data
    - ssl_cert_reqs
    - ssl_include_verify_flags
    - ssl_exclude_verify_flags
    - ssl_certfile
    - ssl_check_hostname
    - ssl_keyfile
    - ssl_min_version
    - ssl_ciphers
    - protocol
    - address_remap
    - event_dispatcher
    - policy_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 266
    functionName: redis.asyncio.cluster.RedisCluster.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - redis.asyncio.cluster.ClusterNode.__init__
    - passed_nodes.append
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - kwargs.get
    - abc.ABC.__init__
    - kwargs.update
    - socket.gethostbyname
    - collections.deque
    - redis.cluster.LoadBalancer.__init__
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.NodesManager.__init__
    - connection_kwargs.pop
    - <builtin>.list
    - startup_nodes.append
    - redis.cluster.get_node_name
    - redis.asyncio.retry.Retry.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - _RedisCallbacks.copy
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.event.EventDispatcher.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    - typing.Protocol.__class__.NODE_FLAGS.copy
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.RedisCluster
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    - redis.utils.deprecated_function
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1416e2e0>
    - <ast.Constant object at 0x7f6c1416ef40>
    - <ast.Constant object at 0x7f6c1416e7f0>
    - <ast.Constant object at 0x7f6c1416ed60>
    argNames:
    - args_to_warn
    - allowed_args
    - reason
    - version
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: redis.utils.deprecated_args
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: redis.utils.deprecated_args.decorator
    functionSourceFile: redis.utils
    functionUses: 14
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Tuple object at 0x7f6c13f7fca0>
    argNames:
    - self
    - backoff
    - retries
    - supported_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: redis.asyncio.retry.Retry.__init__
    functionSourceFile: redis.asyncio.retry
    functionUses: 9
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _RedisCallbacks.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a80fd0>
    argNames:
    - self
    - host
    - port
    - server_type
    - max_connections
    - connection_class
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1175
    functionName: redis.asyncio.cluster.ClusterNode.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 529
    functionsReached:
    - <builtin>.list
    - redis.cluster.get_node_name
    - abc.ABC.__init__
    - socket.gethostbyname
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.EventDispatcher.__init__
    - collections.deque
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.event.EventDispatcher.register_listeners
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - connection_kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: passed_nodes.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: startup_nodes.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14316b80>
    argNames:
    - self
    - event_listeners
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 71
    functionName: redis.event.EventDispatcher.__init__
    functionSourceFile: redis.event
    functionUses: 587
    functionsReached:
    - <builtin>.list
    - abc.ABC.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.event.EventDispatcher.register_listeners
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14040ca0>
    - <ast.Constant object at 0x7f6c14040e80>
    - <ast.Constant object at 0x7f6c14040ee0>
    argNames:
    - self
    - startup_nodes
    - require_full_coverage
    - connection_kwargs
    - dynamic_startup_nodes
    - address_remap
    - event_dispatcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1432
    functionName: redis.asyncio.cluster.NodesManager.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - abc.ABC.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.EventDispatcher.__init__
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.cluster.LoadBalancer.__init__
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.__class__.NODE_FLAGS.copy
    functionSourceFile: typing
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.__class__.COMMAND_FLAGS.copy
    functionSourceFile: typing
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.__class__.RESULT_CALLBACKS.copy
    functionSourceFile: typing
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.RedisCluster.__init__.<lambda1>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.cluster.parse_cluster_slots
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - options.get
    - res.values
    - redis.cluster.parse_cluster_slots.fix_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: res.values
    functionSourceFile: <builtin>
    functionUses: 534
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - resp
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 127
    functionName: redis.cluster.parse_cluster_slots
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - options.get
    - redis.cluster.parse_cluster_slots.fix_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.Lock
    functionSourceFile: asyncio
    functionUses: 605
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 7
    IfCount: 13
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1598
    functionName: redis.asyncio.cluster.NodesManager.initialize
    functionSourceFile: redis.asyncio.cluster
    functionUses: 524
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - <builtin>.tuple
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - typing.Protocol.decode
    - startup_node.execute_command
    - abc.ABC.__init__
    - redis.utils.str_if_bytes
    - socket.gethostbyname
    - old.pop
    - abc.ABC._event_listeners_mapping.get
    - removed_node.update_active_connections_for_reconnect
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.event.EventDispatcher.__init__
    - tmp_nodes_cache.get
    - <builtin>.len
    - <builtin>.int
    - new.items
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - listener.listen
    - conn.mark_for_reconnect
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - asyncio.create_task
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d98370>
    argNames:
    - self
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1748
    functionName: redis.asyncio.cluster.NodesManager.aclose
    functionSourceFile: redis.asyncio.cluster
    functionUses: 528
    functionsReached:
    - asyncio.create_task
    - asyncio.gather
    - <builtin>.getattr
    - node.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 497
    functionName: redis.asyncio.cluster.RedisCluster.aclose
    functionSourceFile: redis.asyncio.cluster
    functionUses: 520
    functionsReached:
    - asyncio.gather
    - asyncio.create_task
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - node.disconnect
    - asyncio.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 509
    functionName: redis.asyncio.cluster.RedisCluster.close
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - asyncio.gather
    - asyncio.create_task
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - node.disconnect
    - asyncio.Lock
    - redis.asyncio.cluster.RedisCluster.aclose
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 513
    functionName: redis.asyncio.cluster.RedisCluster.__aenter__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - <builtin>.tuple
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - typing.Protocol.decode
    - startup_node.execute_command
    - redis.asyncio.cluster.RedisCluster._increment_usage
    - abc.ABC.__init__
    - redis.utils.str_if_bytes
    - socket.gethostbyname
    - old.pop
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - removed_node.update_active_connections_for_reconnect
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.event.EventDispatcher.__init__
    - tmp_nodes_cache.get
    - <builtin>.len
    - asyncio.gather
    - <builtin>.int
    - new.items
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - listener.listen
    - conn.mark_for_reconnect
    - redis.cluster.LoadBalancer.reset
    - redis.asyncio.cluster.RedisCluster._decrement_usage
    - asyncio.create_task
    - node.disconnect
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 528
    functionName: redis.asyncio.cluster.RedisCluster._increment_usage
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 537
    functionName: redis.asyncio.cluster.RedisCluster._decrement_usage
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 546
    functionName: redis.asyncio.cluster.RedisCluster.__aexit__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - asyncio.shield
    - asyncio.gather
    - redis.asyncio.cluster.RedisCluster._decrement_usage
    - asyncio.create_task
    - redis.asyncio.cluster.NodesManager.aclose
    - <builtin>.getattr
    - node.disconnect
    - asyncio.Lock
    - redis.asyncio.cluster.RedisCluster.aclose
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.shield
    functionSourceFile: asyncio
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 556
    functionName: redis.asyncio.cluster.RedisCluster.__await__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - nodes_for_slot.append
    - redis.asyncio.cluster.RedisCluster.__await__
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - <builtin>.tuple
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - typing.Protocol.decode
    - startup_node.execute_command
    - abc.ABC.__init__
    - redis.utils.str_if_bytes
    - socket.gethostbyname
    - old.pop
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - removed_node.update_active_connections_for_reconnect
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.event.EventDispatcher.__init__
    - tmp_nodes_cache.get
    - <builtin>.len
    - asyncio.gather
    - <builtin>.int
    - new.items
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - listener.listen
    - conn.mark_for_reconnect
    - redis.cluster.LoadBalancer.reset
    - asyncio.create_task
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - node.disconnect
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6c13765df0>
    - <ast.Attribute object at 0x7f6c13765fd0>
    argNames:
    - self
    - _warn
    - _grl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 561
    functionName: redis.asyncio.cluster.RedisCluster.__del__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 649
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 574
    functionName: redis.asyncio.cluster.RedisCluster.on_connect
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - connection.send_command
    - typing.Protocol.decode
    - connection.on_connect
    - connection.read_response
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.on_connect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.send_command
    functionSourceFile: <builtin>
    functionUses: 529
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.read_response
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: redis.utils.str_if_bytes
    functionSourceFile: redis.utils
    functionUses: 744
    functionsReached:
    - <builtin>.isinstance
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 586
    functionName: redis.asyncio.cluster.RedisCluster.get_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 590
    functionName: redis.asyncio.cluster.RedisCluster.get_primaries
    functionSourceFile: redis.asyncio.cluster
    functionUses: 529
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - server_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1591
    functionName: redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    functionSourceFile: ''
    functionUses: 539
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 594
    functionName: redis.asyncio.cluster.RedisCluster.get_replicas
    functionSourceFile: redis.asyncio.cluster
    functionUses: 527
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 598
    functionName: redis.asyncio.cluster.RedisCluster.get_random_node
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 602
    functionName: redis.asyncio.cluster.RedisCluster.get_default_node
    functionSourceFile: redis.asyncio.cluster
    functionUses: 527
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 606
    functionName: redis.asyncio.cluster.RedisCluster.set_default_node
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.asyncio.cluster.NodesManager.get_node
    - socket.gethostbyname
    - redis.cluster.get_node_name
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134b9190>
    - <ast.Constant object at 0x7f6c134b98b0>
    - <ast.Constant object at 0x7f6c134b9820>
    argNames:
    - self
    - host
    - port
    - node_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1459
    functionName: redis.asyncio.cluster.NodesManager.get_node
    functionSourceFile: redis.asyncio.cluster
    functionUses: 521
    functionsReached:
    - redis.cluster.get_node_name
    - socket.gethostbyname
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143aa0d0>
    argNames:
    - self
    - key
    - replica
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 626
    functionName: redis.asyncio.cluster.RedisCluster.get_node_from_key
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.crc.key_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.len
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised:
    - SlotNotCoveredError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 693
    functionName: redis.asyncio.cluster.RedisCluster.keyslot
    functionSourceFile: redis.asyncio.cluster
    functionUses: 521
    functionsReached:
    - redis.crc.key_slot
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 654
    functionName: redis.asyncio.cluster.RedisCluster.get_random_primary_or_all_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.cluster.RedisCluster.get_random_node
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - random.choice
    - redis.asyncio.cluster.RedisCluster.get_random_primary_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 663
    functionName: redis.asyncio.cluster.RedisCluster.get_random_primary_node
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 669
    functionName: redis.asyncio.cluster.RedisCluster.get_nodes_from_slot
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - random.randrange
    - redis.crc.key_slot
    - slots.pop
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.cluster.LoadBalancer.get_server_index
    - random.randint
    - redis.cluster.LoadBalancer._get_random_replica_index
    - command.upper
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - <builtin>.int
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 746
    functionName: redis.asyncio.cluster.RedisCluster._determine_slot
    functionSourceFile: redis.asyncio.cluster
    functionUses: 519
    functionsReached:
    - random.randrange
    - redis.crc.key_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.len
    - command.upper
    - slots.pop
    - <builtin>.int
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 682
    functionName: redis.asyncio.cluster.RedisCluster.get_special_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 701
    functionName: redis.asyncio.cluster.RedisCluster.get_encoder
    functionSourceFile: redis.asyncio.cluster
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 705
    functionName: redis.asyncio.cluster.RedisCluster.get_connection_kwargs
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 709
    functionName: redis.asyncio.cluster.RedisCluster.set_retry
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 712
    functionName: redis.asyncio.cluster.RedisCluster.set_response_callback
    functionSourceFile: redis.asyncio.cluster
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - command
    - args
    - request_policy
    - node_flag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 716
    functionName: redis.asyncio.cluster.RedisCluster._determine_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 517
    functionsReached:
    - command.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command.lower
    functionSourceFile: <builtin>
    functionUses: 518
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command.upper
    functionSourceFile: <builtin>
    functionUses: 533
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.randrange
    functionSourceFile: random
    functionUses: 533
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots.pop
    functionSourceFile: <builtin>
    functionUses: 533
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 797
    functionName: redis.asyncio.cluster.RedisCluster._is_node_flag
    functionSourceFile: redis.asyncio.cluster
    functionUses: 517
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 800
    functionName: redis.asyncio.cluster.RedisCluster._parse_target_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 517
    functionsReached:
    - <builtin>.list
    - <builtin>.isinstance
    - target_nodes.values
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target_nodes.values
    functionSourceFile: <builtin>
    functionUses: 532
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: redis.commands.policies.AsyncBasePolicyResolver.resolve
    functionSourceFile: redis.commands.policies
    functionUses: 517
    functionsReached:
    - command_name.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6c143b5430>
    - <ast.Attribute object at 0x7f6c143b5d00>
    argNames:
    - self
    - request_policy
    - response_policy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: redis._parsers.commands.CommandPolicies.__init__
    functionSourceFile: ''
    functionUses: 534
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b5040>
    argNames:
    - self
    - target_node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 525
    functionName: redis.cluster.AbstractRedisCluster.replace_default_node
    functionSourceFile: redis.cluster
    functionUses: 526
    functionsReached:
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - redis.cluster.RedisCluster.get_replicas
    - random.choice
    - redis.cluster.RedisCluster.get_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.cluster.RedisCluster.get_primaries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 9
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - target_node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 937
    functionName: redis.asyncio.cluster.RedisCluster._execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 517
    functionsReached:
    - random.randrange
    - target_node.execute_command
    - asyncio.sleep
    - target_node.update_active_connections_for_reconnect
    - redis.asyncio.cluster.ClusterNode.__init__
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - slots.pop
    - command.upper
    - redis.asyncio.cluster.RedisCluster.aclose
    - target_node.disconnect_free_connections
    - abc.ABC.__init__
    - old.pop
    - socket.gethostbyname
    - <builtin>.getattr
    - removed_node.update_active_connections_for_reconnect
    - random.randint
    - collections.deque
    - redis.asyncio.cluster.NodesManager.aclose
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.list
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - slot_nodes.remove
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - asyncio.gather
    - <builtin>.int
    - new.items
    - binascii.crc_hqx
    - redis.asyncio.cluster.NodesManager.get_node
    - conn.mark_for_reconnect
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.LoadBalancer.get_server_index
    - asyncio.create_task
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - node.disconnect
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised:
    - ClusterError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target_node.execute_command
    functionSourceFile: <builtin>
    functionUses: 518
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target_node.update_active_connections_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 518
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target_node.disconnect_free_connections
    functionSourceFile: <builtin>
    functionUses: 518
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1513
    functionName: redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 518
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.sleep
    functionSourceFile: asyncio
    functionUses: 593
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1530
    functionName: redis.asyncio.cluster.NodesManager.move_slot
    functionSourceFile: redis.asyncio.cluster
    functionUses: 518
    functionsReached:
    - redis.asyncio.cluster.ClusterNode.__init__
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - abc.ABC.__init__
    - socket.gethostbyname
    - old.pop
    - removed_node.update_active_connections_for_reconnect
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.set_nodes
    - connection_kwargs.pop
    - removed_node.disconnect_free_connections
    - <builtin>.list
    - redis.cluster.get_node_name
    - slot_nodes.remove
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.EventDispatcher.__init__
    - new.items
    - redis.asyncio.cluster.NodesManager.get_node
    - conn.mark_for_reconnect
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - asyncio.create_task
    - slot_nodes.append
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - host
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis.cluster.get_node_name
    functionSourceFile: ''
    functionUses: 560
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149f4580>
    argNames:
    - self
    - client
    - transaction
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1807
    functionName: redis.asyncio.cluster.ClusterPipeline.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 14
    functionsReached:
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - copy.copy
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140b89d0>
    - <ast.Constant object at 0x7f6c140b8460>
    - <ast.Constant object at 0x7f6c140b8b80>
    - <ast.Constant object at 0x7f6c140b8bb0>
    - <ast.Constant object at 0x7f6c140b81f0>
    - <ast.Constant object at 0x7f6c140b8760>
    - <ast.Constant object at 0x7f6c140b8130>
    argNames:
    - self
    - name
    - timeout
    - sleep
    - blocking
    - blocking_timeout
    - lock_class
    - thread_local
    - raise_on_release_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1046
    functionName: redis.asyncio.cluster.RedisCluster.lock
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.asyncio.lock.Lock.register_scripts
    - redis.commands.core.AsyncScriptCommands.register_script
    - types.SimpleNamespace
    - redis.commands.core.AsyncScript.__init__
    - <builtin>.isinstance
    - redis.asyncio.lock.Lock.__init__
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - threading.local
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138b0580>
    - <ast.Constant object at 0x7f6c138b0370>
    - <ast.Constant object at 0x7f6c138b07c0>
    - <ast.Constant object at 0x7f6c138b0d00>
    - <ast.Constant object at 0x7f6c138b0610>
    - <ast.Constant object at 0x7f6c138b0460>
    argNames:
    - self
    - redis
    - name
    - timeout
    - sleep
    - blocking
    - blocking_timeout
    - thread_local
    - raise_on_release_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 82
    functionName: redis.asyncio.lock.Lock.__init__
    functionSourceFile: redis.asyncio.lock
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - redis.asyncio.lock.Lock.register_scripts
    - redis.commands.core.AsyncScriptCommands.register_script
    - types.SimpleNamespace
    - redis.commands.core.AsyncScript.__init__
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - threading.local
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1127
    functionName: redis.asyncio.cluster.RedisCluster.transaction
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - pipe.watch
    - copy.copy.update_supported_errors
    - redis.asyncio.cluster.RedisCluster.pipeline
    - redis.asyncio.cluster.TransactionStrategy.__init__
    - pipe.execute
    - copy.copy
    - time.sleep
    - redis.asyncio.cluster.PipelineStrategy.__init__
    - redis.asyncio.cluster.ClusterPipeline.__init__
    - kwargs.pop
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pipe.watch
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pipe.execute
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.sleep
    functionSourceFile: time
    functionUses: 648
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.gethostbyname
    functionSourceFile: socket
    functionUses: 559
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection_kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 530
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque
    functionSourceFile: collections
    functionUses: 531
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1206
    functionName: redis.asyncio.cluster.ClusterNode.__repr__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1212
    functionName: redis.asyncio.cluster.ClusterNode.__eq__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1215
    functionName: redis.asyncio.cluster.ClusterNode.__hash__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6c12d52d00>
    - <ast.Attribute object at 0x7f6c12d52c70>
    argNames:
    - self
    - _warn
    - _grl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1220
    functionName: redis.asyncio.cluster.ClusterNode.__del__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1236
    functionName: redis.asyncio.cluster.ClusterNode.disconnect
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - connection.disconnect
    - <builtin>.next
    - <builtin>.isinstance
    - asyncio.create_task
    - asyncio.gather
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.disconnect
    functionSourceFile: <builtin>
    functionUses: 527
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1248
    functionName: redis.asyncio.cluster.ClusterNode.acquire_connection
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - redis.asyncio.connection.Connection.__init__
    - redis.asyncio.retry.Retry.__init__
    - redis.backoff.NoBackoff.__init__
    - <builtin>.super
    - <builtin>.len
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - MaxConnectionsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - socket_keepalive
    - socket_keepalive_options
    - socket_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 782
    functionName: redis.asyncio.connection.Connection.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 541
    functionsReached:
    - <builtin>.int
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1275
    functionName: redis.asyncio.cluster.ClusterNode.disconnect_if_needed
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - async_timeout.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 381
    functionName: redis.asyncio.connection.AbstractConnection.should_reconnect
    functionSourceFile: ''
    functionUses: 553
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e5f790>
    argNames:
    - self
    - nowait
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 520
    functionName: redis.asyncio.connection.AbstractConnection.disconnect
    functionSourceFile: redis.asyncio.connection
    functionUses: 578
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - async_timeout.timeout
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1284
    functionName: redis.asyncio.cluster.ClusterNode.release
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1292
    functionName: redis.asyncio.cluster.ClusterNode.update_active_connections_for_reconnect
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - connection.mark_for_reconnect
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 699
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.mark_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1303
    functionName: redis.asyncio.cluster.ClusterNode.disconnect_free_connections
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - connection.disconnect
    - asyncio.gather
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - command
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1317
    functionName: redis.asyncio.cluster.ClusterNode.parse_response
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - <builtin>.isinstance
    - async_timeout.timeout
    - redis.asyncio.connection.AbstractConnection.read_response
    - kwargs.pop
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 4
    IfCount: 9
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12da5a90>
    - <ast.Constant object at 0x7f6c12da5880>
    argNames:
    - self
    - disable_decoding
    - timeout
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 623
    functionName: redis.asyncio.connection.AbstractConnection.read_response
    functionSourceFile: redis.asyncio.connection
    functionUses: 557
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - <builtin>.isinstance
    - async_timeout.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1343
    functionName: redis.asyncio.cluster.ClusterNode.execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.cluster.ClusterNode.disconnect_if_needed
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - <builtin>.super
    - <builtin>.str
    - kwargs.get
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.cluster.ClusterNode.acquire_connection
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - <builtin>.range
    - kwargs.pop
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.retry.Retry.__init__
    - <builtin>.isinstance
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.asyncio.cluster.ClusterNode.parse_response
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.backoff.NoBackoff.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: redis.asyncio.connection.AbstractConnection.pack_command
    functionSourceFile: redis.asyncio.connection
    functionUses: 556
    functionsReached:
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - SYM_EMPTY.join
    - <builtin>.str
    - <builtin>.tuple
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d3b340>
    argNames:
    - self
    - command
    - check_health
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 567
    functionName: redis.asyncio.connection.AbstractConnection.send_packed_command
    functionSourceFile: redis.asyncio.connection
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - commands
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1360
    functionName: redis.asyncio.cluster.ClusterNode.execute_pipeline
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.cluster.ClusterNode.disconnect_if_needed
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - <builtin>.str
    - typing.Protocol.decode
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.cluster.ClusterNode.acquire_connection
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.AbstractConnection.pack_commands
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - <builtin>.range
    - kwargs.pop
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.retry.Retry.__init__
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.asyncio.cluster.ClusterNode.parse_response
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - output.append
    - redis.asyncio.connection.AbstractConnection.disconnect
    - pieces.append
    - redis.backoff.NoBackoff.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - commands
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 727
    functionName: redis.asyncio.connection.AbstractConnection.pack_commands
    functionSourceFile: redis.asyncio.connection
    functionUses: 1
    functionsReached:
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - SYM_EMPTY.join
    - pieces.append
    - redis.asyncio.connection.AbstractConnection.pack_command
    - <builtin>.str
    - <builtin>.tuple
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1388
    functionName: redis.asyncio.cluster.ClusterNode.re_auth_callback
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - conn.retry.call_with_retry
    - tmp_queue.popleft
    - collections.deque
    - tmp_queue.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda1>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - conn.send_command
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.try_get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.get_value
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.send_command
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda2>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.ClusterNode._mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1407
    functionName: redis.asyncio.cluster.ClusterNode._mock
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.retry.call_with_retry
    functionSourceFile: <builtin>
    functionUses: 561
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda3>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - conn.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.read_response
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda4>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.ClusterNode._mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_queue.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_queue.popleft
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13241c40>
    argNames:
    - self
    - start_index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1738
    functionName: redis.cluster.LoadBalancer.__init__
    functionSourceFile: redis.cluster
    functionUses: 6
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134b9a90>
    argNames:
    - self
    - old
    - new
    - remove_old
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1477
    functionName: redis.asyncio.cluster.NodesManager.set_nodes
    functionSourceFile: redis.asyncio.cluster
    functionUses: 527
    functionsReached:
    - <builtin>.list
    - conn.mark_for_reconnect
    - old.pop
    - old.keys
    - existing_node.update_active_connections_for_reconnect
    - asyncio.create_task
    - removed_node.update_active_connections_for_reconnect
    - new.items
    - removed_node.disconnect_free_connections
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old.keys
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old.pop
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: removed_node.update_active_connections_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: removed_node.disconnect_free_connections
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new.items
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: existing_node.update_active_connections_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.mark_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 551
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slot_nodes.append
    functionSourceFile: <builtin>
    functionUses: 530
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slot_nodes.remove
    functionSourceFile: <builtin>
    functionUses: 530
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Attribute object at 0x7f6c13c5ae80>
    argNames:
    - self
    - primary
    - list_size
    - load_balancing_strategy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1743
    functionName: redis.cluster.LoadBalancer.get_server_index
    functionSourceFile: redis.cluster
    functionUses: 554
    functionsReached:
    - random.randint
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.cluster.LoadBalancer._get_round_robin_index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1758
    functionName: redis.cluster.LoadBalancer.reset
    functionSourceFile: ''
    functionUses: 542
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d980a0>
    argNames:
    - self
    - nodes
    - credential_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 261
    functionName: redis.event.AfterAsyncClusterInstantiationEvent.__init__
    functionSourceFile: ''
    functionUses: 525
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: redis.event.EventDispatcher.dispatch
    functionSourceFile: redis.event
    functionUses: 627
    functionsReached:
    - <builtin>.type
    - listener.listen
    - abc.ABC._event_listeners_mapping.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: startup_node.execute_command
    functionSourceFile: <builtin>
    functionUses: 525
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1757
    functionName: redis.asyncio.cluster.NodesManager.remap_host_port
    functionSourceFile: ''
    functionUses: 525
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_nodes_cache.get
    functionSourceFile: <builtin>
    functionUses: 542
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nodes_for_slot.append
    functionSourceFile: <builtin>
    functionUses: 541
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: disagreements.append
    functionSourceFile: <builtin>
    functionUses: 541
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.disconnect
    functionSourceFile: <builtin>
    functionUses: 529
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 678
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pipe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2112
    functionName: redis.asyncio.cluster.PipelineStrategy.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 15
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pipe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2328
    functionName: redis.asyncio.cluster.TransactionStrategy.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 15
    functionsReached:
    - copy.copy
    - copy.copy.update_supported_errors
    - <builtin>.set
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.initialize
    functionSourceFile: typing
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1822
    functionName: redis.asyncio.cluster.ClusterPipeline.__aenter__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.initialize
    - redis.asyncio.cluster.ClusterPipeline.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1825
    functionName: redis.asyncio.cluster.ClusterPipeline.__aexit__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.reset
    - redis.asyncio.cluster.ClusterPipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1887
    functionName: redis.asyncio.cluster.ClusterPipeline.reset
    functionSourceFile: redis.asyncio.cluster
    functionUses: 14
    functionsReached:
    - typing.Protocol._execution_strategy.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1828
    functionName: redis.asyncio.cluster.ClusterPipeline.__await__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.ClusterPipeline.__await__
    - typing.Protocol._execution_strategy.initialize
    - redis.asyncio.cluster.ClusterPipeline.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1831
    functionName: redis.asyncio.cluster.ClusterPipeline.__bool__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1835
    functionName: redis.asyncio.cluster.ClusterPipeline.__len__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.execute_command
    functionSourceFile: typing
    functionUses: 539
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.execute
    functionSourceFile: typing
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.reset
    functionSourceFile: typing
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1893
    functionName: redis.asyncio.cluster.ClusterPipeline.multi
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.multi
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.multi
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1900
    functionName: redis.asyncio.cluster.ClusterPipeline.discard
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.discard
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.discard
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1904
    functionName: redis.asyncio.cluster.ClusterPipeline.watch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.watch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.watch
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1908
    functionName: redis.asyncio.cluster.ClusterPipeline.unwatch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.unwatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.unwatch
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1912
    functionName: redis.asyncio.cluster.ClusterPipeline.unlink
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.unlink
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1915
    functionName: redis.asyncio.cluster.ClusterPipeline.mset_nonatomic
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.mset_nonatomic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.mset_nonatomic
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command.replace
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2798
    functionName: redis.cluster.block_pipeline_command
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - position
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1930
    functionName: redis.asyncio.cluster.PipelineCommand.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1937
    functionName: redis.asyncio.cluster.PipelineCommand.__repr__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.ExecutionStrategy
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1943
    functionName: redis.asyncio.cluster.ExecutionStrategy.initialize
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1952
    functionName: redis.asyncio.cluster.ExecutionStrategy.execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13737430>
    - <ast.Constant object at 0x7f6c13737040>
    argNames:
    - self
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1963
    functionName: redis.asyncio.cluster.ExecutionStrategy.execute
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1977
    functionName: redis.asyncio.cluster.ExecutionStrategy.mset_nonatomic
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1988
    functionName: redis.asyncio.cluster.ExecutionStrategy.reset
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1997
    functionName: redis.asyncio.cluster.ExecutionStrategy.multi
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2006
    functionName: redis.asyncio.cluster.ExecutionStrategy.watch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2015
    functionName: redis.asyncio.cluster.ExecutionStrategy.unwatch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2024
    functionName: redis.asyncio.cluster.ExecutionStrategy.discard
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2028
    functionName: redis.asyncio.cluster.ExecutionStrategy.unlink
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2037
    functionName: redis.asyncio.cluster.ExecutionStrategy.__len__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pipe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2042
    functionName: redis.asyncio.cluster.AbstractStrategy.__init__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2046
    functionName: redis.asyncio.cluster.AbstractStrategy.initialize
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2052
    functionName: redis.asyncio.cluster.AbstractStrategy.execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - redis.asyncio.cluster.PipelineCommand.__init__
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception
    - number
    - command
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2060
    functionName: redis.asyncio.cluster.AbstractStrategy._annotate_exception
    functionSourceFile: redis.asyncio.cluster
    functionUses: 3
    functionsReached:
    - <builtin>.map
    - redis.utils.truncate_text
    - textwrap.shorten
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1410f310>
    argNames:
    - txt
    - max_length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: redis.utils.truncate_text
    functionSourceFile: redis.utils
    functionUses: 548
    functionsReached:
    - textwrap.shorten
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.AbstractStrategy
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2072
    functionName: redis.asyncio.cluster.AbstractStrategy.mset_nonatomic
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12ebc160>
    - <ast.Constant object at 0x7f6c12ebc910>
    argNames:
    - self
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2078
    functionName: redis.asyncio.cluster.AbstractStrategy.execute
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2084
    functionName: redis.asyncio.cluster.AbstractStrategy.reset
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2088
    functionName: redis.asyncio.cluster.AbstractStrategy.multi
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2092
    functionName: redis.asyncio.cluster.AbstractStrategy.watch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2096
    functionName: redis.asyncio.cluster.AbstractStrategy.unwatch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2100
    functionName: redis.asyncio.cluster.AbstractStrategy.discard
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2104
    functionName: redis.asyncio.cluster.AbstractStrategy.unlink
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2107
    functionName: redis.asyncio.cluster.AbstractStrategy.__len__
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2115
    functionName: redis.asyncio.cluster.PipelineStrategy.mset_nonatomic
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - threading.Thread
    - redis.crc.key_slot
    - redis.asyncio.cluster.TransactionStrategy.execute_command
    - thread.start
    - slots_pairs.setdefault
    - redis.asyncio.cluster.AbstractStrategy.execute_command
    - encoder.encode
    - slots_pairs.values
    - mapping.items
    - redis.asyncio.cluster.PipelineCommand.__init__
    - <builtin>.len
    - thread.join
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoder.encode
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots_pairs.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots_pairs.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2368
    functionName: redis.asyncio.cluster.TransactionStrategy.execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 5
    functionsReached:
    - threading.Thread
    - thread.join
    - thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13930190>
    - <ast.Constant object at 0x7f6c13930e20>
    argNames:
    - self
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2130
    functionName: redis.asyncio.cluster.PipelineStrategy.execute
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - client._parse_target_nodes
    - client._is_node_flag
    - client.command_flags.get
    - redis.asyncio.cluster.PipelineStrategy.reset
    - client._policy_resolver.resolve
    - redis.asyncio.cluster.PipelineStrategy._execute
    - client._determine_slot
    - client.get_default_node
    - client.execute_command
    - <builtin>.any
    - <builtin>.type
    - cmd.kwargs.pop
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.len
    - textwrap.shorten
    - nodes.values
    - asyncio.gather
    - client.replace_default_node
    - client._determine_nodes
    - asyncio.create_task
    - nodes.get
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 26
    ICount: 2
    IfCount: 18
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13742a60>
    - <ast.Constant object at 0x7f6c137428b0>
    argNames:
    - self
    - client
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2162
    functionName: redis.asyncio.cluster.PipelineStrategy._execute
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - client._parse_target_nodes
    - redis._parsers.commands.CommandPolicies.__init__
    - client._is_node_flag
    - client.command_flags.get
    - client._policy_resolver.resolve
    - client._determine_slot
    - client.get_default_node
    - client.execute_command
    - <builtin>.any
    - <builtin>.type
    - cmd.kwargs.pop
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.len
    - textwrap.shorten
    - asyncio.gather
    - nodes.values
    - client.replace_default_node
    - client._determine_nodes
    - asyncio.create_task
    - nodes.get
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2281
    functionName: redis.asyncio.cluster.PipelineStrategy.reset
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd.kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client._policy_resolver.resolve
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client._is_node_flag
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client._parse_target_nodes
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.command_flags.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.get_default_node
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client._determine_slot
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client._determine_nodes
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nodes.values
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.execute_command
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nodes.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.replace_default_node
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2287
    functionName: redis.asyncio.cluster.PipelineStrategy.multi
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2292
    functionName: redis.asyncio.cluster.PipelineStrategy.watch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2297
    functionName: redis.asyncio.cluster.PipelineStrategy.unwatch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2302
    functionName: redis.asyncio.cluster.PipelineStrategy.discard
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2307
    functionName: redis.asyncio.cluster.PipelineStrategy.unlink
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - threading.Thread
    - redis.asyncio.cluster.TransactionStrategy.execute_command
    - thread.start
    - redis.asyncio.cluster.AbstractStrategy.execute_command
    - redis.asyncio.cluster.PipelineCommand.__init__
    - <builtin>.len
    - thread.join
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy
    functionSourceFile: copy
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy.update_supported_errors
    functionSourceFile: copy
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2341
    functionName: redis.asyncio.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    functionSourceFile: redis.asyncio.cluster
    functionUses: 4
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2373
    functionName: redis.asyncio.cluster.TransactionStrategy.execute_command.runner
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - copy.copy.call_with_retry
    - redis.asyncio.cluster.TransactionStrategy._immediate_execute_command
    - asyncio.run
    - <builtin>.super
    - redis.asyncio.cluster.TransactionStrategy._validate_watch
    - redis.asyncio.cluster.TransactionStrategy._execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2390
    functionName: redis.asyncio.cluster.TransactionStrategy._execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - copy.copy.call_with_retry
    - redis.asyncio.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.super
    - redis.asyncio.cluster.TransactionStrategy._validate_watch
    linkageType: pythonLinkage
    raised:
    - CrossSlotTransactionError
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.run
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Thread
    functionSourceFile: threading
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: thread.start
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: thread.join
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2426
    functionName: redis.asyncio.cluster.TransactionStrategy._validate_watch
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2432
    functionName: redis.asyncio.cluster.TransactionStrategy._immediate_execute_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - copy.copy.call_with_retry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.TransactionStrategy._immediate_execute_command.<lambda1>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.asyncio.cluster.TransactionStrategy._send_command_parse_response
    - redis.asyncio.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis_node.disconnect_if_needed
    - redis_node.parse_response
    - connection.send_command
    - redis.asyncio.cluster.TransactionStrategy._get_connection_and_send_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2438
    functionName: redis.asyncio.cluster.TransactionStrategy._get_connection_and_send_command
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - redis.asyncio.cluster.TransactionStrategy._send_command_parse_response
    - redis.asyncio.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis_node.disconnect_if_needed
    - redis_node.parse_response
    - connection.send_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy.call_with_retry
    functionSourceFile: copy
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_node.disconnect_if_needed
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - connection
    - redis_node
    - command_name
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2447
    functionName: redis.asyncio.cluster.TransactionStrategy._send_command_parse_response
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - redis_node.parse_response
    - connection.send_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_node.parse_response
    functionSourceFile: <builtin>
    functionUses: 534
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2466
    functionName: redis.asyncio.cluster.TransactionStrategy._reinitialize_on_error
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - WatchError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - responses
    - stack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2496
    functionName: redis.asyncio.cluster.TransactionStrategy._raise_first_error
    functionSourceFile: redis.asyncio.cluster
    functionUses: 2
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - redis.asyncio.cluster.AbstractStrategy._annotate_exception
    - <builtin>.isinstance
    - textwrap.shorten
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2505
    functionName: redis.asyncio.cluster.TransactionStrategy.mset_nonatomic
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13018190>
    - <ast.Constant object at 0x7f6c13018cd0>
    argNames:
    - self
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2510
    functionName: redis.asyncio.cluster.TransactionStrategy.execute
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - copy.copy.call_with_retry
    - redis.asyncio.cluster.TransactionStrategy._execute_transaction_with_retries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stack
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2519
    functionName: redis.asyncio.cluster.TransactionStrategy._execute_transaction_with_retries
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - copy.copy.call_with_retry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.asyncio.cluster.TransactionStrategy._execute_transaction_with_retries.<lambda1>
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - data.append
    - redis.asyncio.cluster.TransactionStrategy._execute_transaction
    - <builtin>.zip
    - <builtin>.enumerate
    - redis.asyncio.cluster.PipelineCommand.__init__
    - redis.asyncio.cluster.TransactionStrategy._raise_first_error
    - redis_node.disconnect_if_needed
    - redis_node.parse_response
    - itertools.chain
    - <builtin>.list
    - errors.append
    - redis.asyncio.cluster.AbstractStrategy._annotate_exception
    - <builtin>.map
    - <builtin>.isinstance
    - response.insert
    - connection.send_packed_command
    - textwrap.shorten
    - <builtin>.len
    - connection.pack_commands
    - redis.asyncio.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 15
    IfCount: 9
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stack
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2527
    functionName: redis.asyncio.cluster.TransactionStrategy._execute_transaction
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - data.append
    - <builtin>.zip
    - <builtin>.enumerate
    - redis.asyncio.cluster.PipelineCommand.__init__
    - redis.asyncio.cluster.TransactionStrategy._raise_first_error
    - redis_node.disconnect_if_needed
    - redis_node.parse_response
    - itertools.chain
    - <builtin>.list
    - errors.append
    - redis.asyncio.cluster.AbstractStrategy._annotate_exception
    - <builtin>.map
    - <builtin>.isinstance
    - response.insert
    - connection.send_packed_command
    - textwrap.shorten
    - <builtin>.len
    - connection.pack_commands
    - redis.asyncio.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised:
    - CrossSlotTransactionError
    - WatchError
    - InvalidPipelineStack
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.chain
    functionSourceFile: itertools
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.pack_commands
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.send_packed_command
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: errors.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.insert
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2630
    functionName: redis.asyncio.cluster.TransactionStrategy.reset
    functionSourceFile: redis.asyncio.cluster
    functionUses: 1
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2660
    functionName: redis.asyncio.cluster.TransactionStrategy.multi
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2669
    functionName: redis.asyncio.cluster.TransactionStrategy.watch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - threading.Thread
    - thread.join
    - redis.asyncio.cluster.TransactionStrategy.execute_command
    - thread.start
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2675
    functionName: redis.asyncio.cluster.TransactionStrategy.unwatch
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - threading.Thread
    - thread.join
    - redis.asyncio.cluster.TransactionStrategy.execute_command
    - thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2681
    functionName: redis.asyncio.cluster.TransactionStrategy.discard
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - redis.asyncio.cluster.TransactionStrategy.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2684
    functionName: redis.asyncio.cluster.TransactionStrategy.unlink
    functionSourceFile: redis.asyncio.cluster
    functionUses: 0
    functionsReached:
    - threading.Thread
    - thread.join
    - redis.asyncio.cluster.TransactionStrategy.execute_command
    - thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.cluster
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - command.replace
    - functools.wraps
    - redis.cluster.block_pipeline_command
    - inspect.iscoroutinefunction
    - <builtin>.setattr
    - logging.getLogger
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 667
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: redis.cluster.is_debug_log_enabled
    functionSourceFile: redis.cluster
    functionUses: 530
    functionsReached:
    - logger.isEnabledFor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.isEnabledFor
    functionSourceFile: <builtin>
    functionUses: 535
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - redis_node
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: redis.cluster.get_connection
    functionSourceFile: redis.cluster
    functionUses: 532
    functionsReached:
    - redis_node.connection_pool.get_connection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_node.connection_pool.get_connection
    functionSourceFile: <builtin>
    functionUses: 533
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - command
    - res
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: redis.cluster.parse_scan_result
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.items
    - <builtin>.int
    - redis._parsers.helpers.parse_scan
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: res.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 414
    functionName: redis._parsers.helpers.parse_scan
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - command
    - res
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: redis.cluster.parse_pubsub_numsub
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - collections.OrderedDict.items
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict
    functionSourceFile: collections
    functionUses: 556
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.items
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.get
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: redis.cluster.parse_cluster_slots.fix_server
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - resp
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: redis.cluster.parse_cluster_shards
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.range
    - shards.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shards.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - resp
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: redis.cluster.parse_cluster_myshardid
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - resp.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: redis.cluster.cleanup_kwargs
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - maint_notifications_config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 250
    functionName: redis.cluster.MaintNotificationsAbstractRedisCluster.__init__
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - redis.utils.check_protocol_version
    - redis.cluster.MaintNotificationsAbstractRedisCluster._update_connection_kwargs_for_maint_notifications
    - threading.RLock
    - redis.cluster.RedisCluster.get_nodes
    - <builtin>.isinstance
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - redis.maint_notifications.OSSMaintNotificationsHandler.__init__
    - kwargs.get
    - <builtin>.int
    - node.redis_connection.connection_pool.update_maint_notifications_config
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1425f310>
    argNames:
    - protocol
    - expected_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: redis.utils.check_protocol_version
    functionSourceFile: redis.utils
    functionUses: 556
    functionsReached:
    - <builtin>.int
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143554c0>
    - <ast.Constant object at 0x7f6c143550d0>
    - <ast.Constant object at 0x7f6c143551f0>
    - <ast.Constant object at 0x7f6c14355430>
    argNames:
    - self
    - enabled
    - proactive_reconnect
    - relaxed_timeout
    - endpoint_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 605
    functionName: redis.maint_notifications.MaintNotificationsConfig.__init__
    functionSourceFile: ''
    functionUses: 557
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cluster_client
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 997
    functionName: redis.maint_notifications.OSSMaintNotificationsHandler.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 4
    functionsReached:
    - <builtin>.set
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: redis.cluster.MaintNotificationsAbstractRedisCluster._update_connection_kwargs_for_maint_notifications
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 936
    functionName: redis.cluster.RedisCluster.get_nodes
    functionSourceFile: redis.cluster
    functionUses: 4
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.connection_pool.update_maint_notifications_config
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.dict_merge
    - dict.fromkeys
    - merged.update
    - redis.utils.list_keys_to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - key_list
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: redis.utils.list_keys_to_dict
    functionSourceFile: redis.utils
    functionUses: 1
    functionsReached:
    - dict.fromkeys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - dicts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: redis.utils.dict_merge
    functionSourceFile: redis.utils
    functionUses: 1
    functionsReached:
    - merged.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda1>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.list
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda2>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.isinstance
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda3>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.isinstance
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda4>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda5>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda6>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.all
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractRedisCluster.<lambda7>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.values
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 959
    functionName: redis.cluster.RedisCluster.get_default_node
    functionSourceFile: ''
    functionUses: 536
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 918
    functionName: redis.cluster.RedisCluster.get_primaries
    functionSourceFile: redis.cluster
    functionUses: 530
    functionsReached:
    - redis.cluster.NodesManager.get_nodes_by_server_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 921
    functionName: redis.cluster.RedisCluster.get_replicas
    functionSourceFile: redis.cluster
    functionUses: 527
    functionsReached:
    - redis.cluster.NodesManager.get_nodes_by_server_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 554
    functionName: redis.cluster.RedisCluster.from_url
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.cluster.MaintNotificationsAbstractRedisCluster.__init__
    - nodes_for_slot.append
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.maint_notifications.OSSMaintNotificationsHandler.__init__
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.cluster.RedisCluster.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - startup_nodes.append
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.__init__
    - redis.connection.parse_url
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.client.CaseInsensitiveDict.update
    - urllib.parse.urlparse
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - urllib.parse.unquote
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.cluster.LoadBalancer.__init__
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - cache_factory.get_cache
    - redis.event.EventDispatcher.dispatch
    - urllib.parse.parse_qs
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - node.redis_connection.connection_pool.update_maint_notifications_config
    - logger.debug
    - redis.client.Redis._execute_command
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.NODE_FLAGS.copy
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - urllib.parse.parse_qs.items
    - redis.cluster.RedisCluster.get_nodes
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - redis.cluster.MaintNotificationsAbstractRedisCluster._update_connection_kwargs_for_maint_notifications
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - urllib.parse.unquote.replace
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - urllib.parse.urlparse.startswith
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - URL_QUERY_ARGUMENT_PARSERS.get
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - kwargs.items
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.cluster.cleanup_kwargs
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 6
    IfCount: 13
    argCount: 19
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377e700>
    - <ast.Constant object at 0x7f6c1377ef70>
    - <ast.Constant object at 0x7f6c1377e520>
    - <ast.Constant object at 0x7f6c1377e760>
    - <ast.Constant object at 0x7f6c1377ea30>
    - <ast.Constant object at 0x7f6c1377ebb0>
    - <ast.Constant object at 0x7f6c1377e490>
    - <ast.Constant object at 0x7f6c1377e9a0>
    - <ast.Constant object at 0x7f6c1377e370>
    - <ast.Constant object at 0x7f6c1377eb50>
    - <ast.Constant object at 0x7f6c1377eb80>
    - <ast.Constant object at 0x7f6c1377e460>
    - <ast.Constant object at 0x7f6c1377e1c0>
    - <ast.Constant object at 0x7f6c1377e670>
    - <ast.Constant object at 0x7f6c1377e4f0>
    - <ast.Call object at 0x7f6c1377ea90>
    - <ast.Constant object at 0x7f6c1377eeb0>
    argNames:
    - self
    - host
    - port
    - startup_nodes
    - cluster_error_retry_attempts
    - retry
    - require_full_coverage
    - reinitialize_steps
    - read_from_replicas
    - load_balancing_strategy
    - dynamic_startup_nodes
    - url
    - address_remap
    - cache
    - cache_config
    - event_dispatcher
    - policy_resolver
    - maint_notifications_config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 609
    functionName: redis.cluster.RedisCluster.__init__
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.cluster.MaintNotificationsAbstractRedisCluster.__init__
    - nodes_for_slot.append
    - redis.connection.AbstractConnection.connect_check_health
    - conn.connect
    - redis.maint_notifications.OSSMaintNotificationsHandler.__init__
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - time.monotonic
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - startup_nodes.append
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.__init__
    - redis.connection.parse_url
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.client.CaseInsensitiveDict.update
    - urllib.parse.urlparse
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - urllib.parse.unquote
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.cluster.LoadBalancer.__init__
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - cache_factory.get_cache
    - redis.event.EventDispatcher.dispatch
    - urllib.parse.parse_qs
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - node.redis_connection.connection_pool.update_maint_notifications_config
    - logger.debug
    - redis.client.Redis._execute_command
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.NODE_FLAGS.copy
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - urllib.parse.parse_qs.items
    - redis.cluster.RedisCluster.get_nodes
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - redis.cluster.MaintNotificationsAbstractRedisCluster._update_connection_kwargs_for_maint_notifications
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - urllib.parse.unquote.replace
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - urllib.parse.urlparse.startswith
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - URL_QUERY_ARGUMENT_PARSERS.get
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - kwargs.items
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.cluster.cleanup_kwargs
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - RedisError
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.cluster.RedisCluster
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 0
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2054
    functionName: redis.connection.parse_url
    functionSourceFile: redis.connection
    functionUses: 5
    functionsReached:
    - urllib.parse.parse_qs
    - urllib.parse.urlparse.startswith
    - urllib.parse.parse_qs.items
    - URL_QUERY_ARGUMENT_PARSERS.get
    - urllib.parse.unquote.replace
    - urllib.parse.unquote
    - urllib.parse.urlparse
    - <builtin>.int
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149ec9a0>
    - <ast.Constant object at 0x7f6c149ec0d0>
    argNames:
    - self
    - host
    - port
    - server_type
    - redis_connection
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1701
    functionName: redis.cluster.ClusterNode.__init__
    functionSourceFile: redis.cluster
    functionUses: 532
    functionsReached:
    - redis.cluster.get_node_name
    - socket.gethostbyname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Tuple object at 0x7f6c139e3700>
    argNames:
    - self
    - backoff
    - retries
    - supported_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: redis.retry.Retry.__init__
    functionSourceFile: redis.retry
    functionUses: 563
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13679640>
    - <ast.Constant object at 0x7f6c136795b0>
    - <ast.Constant object at 0x7f6c136795e0>
    - <ast.Constant object at 0x7f6c13679760>
    - <ast.Name object at 0x7f6c13679130>
    - <ast.Constant object at 0x7f6c13679fa0>
    - <ast.Constant object at 0x7f6c13679cd0>
    - <ast.Constant object at 0x7f6c13679400>
    - <ast.Constant object at 0x7f6c13679b20>
    - <ast.Constant object at 0x7f6c13679d90>
    - <ast.Constant object at 0x7f6c13679f70>
    argNames:
    - self
    - startup_nodes
    - from_url
    - require_full_coverage
    - lock
    - dynamic_startup_nodes
    - connection_pool_class
    - address_remap
    - cache
    - cache_config
    - cache_factory
    - event_dispatcher
    - maint_notifications_config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 1779
    functionName: redis.cluster.NodesManager.__init__
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - nodes_for_slot.append
    - conn.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - num_versions2.append
    - redis.connection.Connection._host_error
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.cluster.LoadBalancer.__init__
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - cache_factory.get_cache
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - redis.cluster.is_debug_log_enabled
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.RLock
    functionSourceFile: threading
    functionUses: 618
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 867
    functionName: redis.cluster.RedisCluster.__enter__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 870
    functionName: redis.cluster.RedisCluster.__exit__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - node.redis_connection.close
    - redis.cluster.RedisCluster.close
    - <builtin>.tuple
    - redis.cluster.NodesManager.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1638
    functionName: redis.cluster.RedisCluster.close
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - node.redis_connection.close
    - <builtin>.tuple
    - redis.cluster.NodesManager.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 873
    functionName: redis.cluster.RedisCluster.__del__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - node.redis_connection.close
    - redis.cluster.RedisCluster.close
    - <builtin>.tuple
    - redis.cluster.NodesManager.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 879
    functionName: redis.cluster.RedisCluster.disconnect_connection_pools
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.RedisCluster.get_nodes
    - node.redis_connection.connection_pool.disconnect
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.connection_pool.disconnect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 888
    functionName: redis.cluster.RedisCluster.on_connect
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - connection.send_command
    - typing.Protocol.decode
    - connection.on_connect
    - connection.read_response
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 908
    functionName: redis.cluster.RedisCluster.get_redis_connection
    functionSourceFile: redis.cluster
    functionUses: 535
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1999
    functionName: redis.cluster.NodesManager.create_redis_connections
    functionSourceFile: redis.cluster
    functionUses: 542
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14058f40>
    - <ast.Constant object at 0x7f6c140587c0>
    - <ast.Constant object at 0x7f6c14058a90>
    argNames:
    - self
    - host
    - port
    - node_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1837
    functionName: redis.cluster.NodesManager.get_node
    functionSourceFile: redis.cluster
    functionUses: 533
    functionsReached:
    - redis.cluster.get_node_name
    - socket.gethostbyname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - server_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1949
    functionName: redis.cluster.NodesManager.get_nodes_by_server_type
    functionSourceFile: ''
    functionUses: 539
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 924
    functionName: redis.cluster.RedisCluster.get_random_node
    functionSourceFile: redis.cluster
    functionUses: 11
    functionsReached:
    - <builtin>.list
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 927
    functionName: redis.cluster.RedisCluster.get_random_primary_or_all_nodes
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - <builtin>.list
    - random.choice
    - redis.cluster.RedisCluster.get_random_node
    - redis.cluster.RedisCluster.get_random_primary_node
    - redis.cluster.RedisCluster.get_primaries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1006
    functionName: redis.cluster.RedisCluster.get_random_primary_node
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.RedisCluster.get_primaries
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a1f850>
    argNames:
    - self
    - key
    - replica
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 939
    functionName: redis.cluster.RedisCluster.get_node_from_key
    functionSourceFile: redis.cluster
    functionUses: 4
    functionsReached:
    - redis.crc.key_slot
    - <builtin>.len
    - binascii.crc_hqx
    - redis.cluster.RedisCluster.keyslot
    - key.find
    linkageType: pythonLinkage
    raised:
    - SlotNotCoveredError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1232
    functionName: redis.cluster.RedisCluster.keyslot
    functionSourceFile: redis.cluster
    functionUses: 540
    functionsReached:
    - redis.crc.key_slot
    - binascii.crc_hqx
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 965
    functionName: redis.cluster.RedisCluster.get_nodes_from_slot
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - random.randrange
    - redis.cluster.RedisCluster.determine_slot
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.crc.key_slot
    - binascii.crc_hqx
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.cluster.LoadBalancer.get_server_index
    - random.randint
    - redis.cluster.RedisCluster.get_default_node
    - <builtin>.len
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.LoadBalancer._get_random_replica_index
    - slots.pop
    - <builtin>.int
    - command.upper
    - redis.cluster.RedisCluster.keyslot
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1255
    functionName: redis.cluster.RedisCluster.determine_slot
    functionSourceFile: redis.cluster
    functionUses: 526
    functionsReached:
    - random.randrange
    - redis.crc.key_slot
    - binascii.crc_hqx
    - redis.cluster.RedisCluster.get_default_node
    - <builtin>.len
    - redis.cluster.RedisCluster._get_command_keys
    - slots.pop
    - <builtin>.int
    - command.upper
    - redis.cluster.RedisCluster.keyslot
    - key.find
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 978
    functionName: redis.cluster.RedisCluster._split_multi_shard_command
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis.cluster.RedisCluster.get_default_node
    - redis.cluster.RedisCluster._get_command_keys
    - commands.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1240
    functionName: redis.cluster.RedisCluster._get_command_keys
    functionSourceFile: redis.cluster
    functionUses: 529
    functionsReached:
    - redis.cluster.RedisCluster.get_default_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: commands.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 995
    functionName: redis.cluster.RedisCluster.get_special_nodes
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - res
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1012
    functionName: redis.cluster.RedisCluster._evaluate_all_succeeded
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - res.items
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1036
    functionName: redis.cluster.RedisCluster.set_default_node
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - socket.gethostbyname
    - redis.cluster.RedisCluster.get_node
    - redis.cluster.get_node_name
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1047
    functionName: redis.cluster.RedisCluster.set_retry
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143e3790>
    argNames:
    - self
    - target_node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1050
    functionName: redis.cluster.RedisCluster.monitor
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.RedisCluster.get_default_node
    - target_node.redis_connection.monitor
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target_node.redis_connection.monitor
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a48bb0>
    - <ast.Constant object at 0x7f6c13a48eb0>
    - <ast.Constant object at 0x7f6c13a48dc0>
    argNames:
    - self
    - node
    - host
    - port
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1067
    functionName: redis.cluster.RedisCluster.pubsub
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.cluster.ClusterPubSub.set_pubsub_node
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.ClusterPubSub._raise_on_invalid_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.any
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.ClusterPubSub.__init__
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterPubSub._pubsubs_generator
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140281c0>
    - <ast.Constant object at 0x7f6c14028be0>
    - <ast.Constant object at 0x7f6c140286d0>
    - <ast.Constant object at 0x7f6c14028880>
    - <ast.Constant object at 0x7f6c140282b0>
    argNames:
    - self
    - redis_cluster
    - node
    - host
    - port
    - push_handler_func
    - event_dispatcher
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 2338
    functionName: redis.cluster.ClusterPubSub.__init__
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.cluster.ClusterPubSub.set_pubsub_node
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.ClusterPubSub._raise_on_invalid_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.any
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterPubSub._pubsubs_generator
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 15
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13058b80>
    - <ast.Constant object at 0x7f6c13058a90>
    - <ast.Constant object at 0x7f6c13058ac0>
    - <ast.Constant object at 0x7f6c13058910>
    - <ast.Constant object at 0x7f6c13058280>
    - <ast.Constant object at 0x7f6c13058580>
    - <ast.Constant object at 0x7f6c13058d60>
    - <ast.Constant object at 0x7f6c130580a0>
    - <ast.Constant object at 0x7f6c13058130>
    - <ast.Constant object at 0x7f6c130582b0>
    - <ast.Call object at 0x7f6c13058730>
    argNames:
    - self
    - nodes_manager
    - commands_parser
    - result_callbacks
    - cluster_response_callbacks
    - startup_nodes
    - read_from_replicas
    - load_balancing_strategy
    - cluster_error_retry_attempts
    - reinitialize_steps
    - retry
    - lock
    - transaction
    - policy_resolver
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2599
    functionName: redis.cluster.ClusterPipeline.__init__
    functionSourceFile: redis.cluster
    functionUses: 12
    functionsReached:
    - copy.copy.update_supported_errors
    - threading.RLock
    - copy.copy
    - redis.retry.Retry.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - <builtin>.super
    - kwargs.get
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.TransactionStrategy.__init__
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c130287f0>
    - <ast.Constant object at 0x7f6c130288e0>
    - <ast.Constant object at 0x7f6c13028430>
    - <ast.Constant object at 0x7f6c13028d60>
    - <ast.Constant object at 0x7f6c13028160>
    - <ast.Constant object at 0x7f6c13028d90>
    - <ast.Constant object at 0x7f6c13028bb0>
    argNames:
    - self
    - name
    - timeout
    - sleep
    - blocking
    - blocking_timeout
    - lock_class
    - thread_local
    - raise_on_release_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1100
    functionName: redis.cluster.RedisCluster.lock
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.lock.Lock.__init__
    - redis.cluster.RedisCluster.get_encoder
    - types.SimpleNamespace
    - redis.connection.ConnectionPool.get_encoder
    - redis.commands.core.ScriptCommands.register_script
    - <builtin>.isinstance
    - redis.lock.Lock.register_scripts
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - threading.local
    - kwargs.get
    - redis.commands.core.Script.__init__
    - redis.client.Redis.get_encoder
    - redis.commands.core.Script.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13687d90>
    - <ast.Constant object at 0x7f6c13687b20>
    - <ast.Constant object at 0x7f6c13687880>
    - <ast.Constant object at 0x7f6c13687820>
    - <ast.Constant object at 0x7f6c136877c0>
    - <ast.Constant object at 0x7f6c13687b80>
    argNames:
    - self
    - redis
    - name
    - timeout
    - sleep
    - blocking
    - blocking_timeout
    - thread_local
    - raise_on_release_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 79
    functionName: redis.lock.Lock.__init__
    functionSourceFile: redis.lock
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - redis.cluster.RedisCluster.get_encoder
    - types.SimpleNamespace
    - redis.connection.ConnectionPool.get_encoder
    - redis.commands.core.ScriptCommands.register_script
    - <builtin>.isinstance
    - redis.lock.Lock.register_scripts
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - threading.local
    - kwargs.get
    - redis.commands.core.Script.__init__
    - redis.client.Redis.get_encoder
    - redis.commands.core.Script.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1181
    functionName: redis.cluster.RedisCluster.set_response_callback
    functionSourceFile: redis.cluster
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - request_policy
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1185
    functionName: redis.cluster.RedisCluster._determine_nodes
    functionSourceFile: redis.cluster
    functionUses: 523
    functionsReached:
    - kwargs.pop
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1222
    functionName: redis.cluster.RedisCluster._should_reinitialized
    functionSourceFile: redis.cluster
    functionUses: 524
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1318
    functionName: redis.cluster.RedisCluster.get_encoder
    functionSourceFile: redis.cluster
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1324
    functionName: redis.cluster.RedisCluster.get_connection_kwargs
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1330
    functionName: redis.cluster.RedisCluster._is_nodes_flag
    functionSourceFile: redis.cluster
    functionUses: 523
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1333
    functionName: redis.cluster.RedisCluster._parse_target_nodes
    functionSourceFile: redis.cluster
    functionUses: 523
    functionsReached:
    - <builtin>.isinstance
    - target_nodes.values
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 2
    IfCount: 14
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1356
    functionName: redis.cluster.RedisCluster._internal_execute_command
    functionSourceFile: redis.cluster
    functionUses: 522
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.cache.CacheEntry.__init__
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - num_versions2.append
    - time.monotonic
    - threading.Lock
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - redis.cluster.RedisCluster._parse_target_nodes
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.policies.BasePolicyResolver.resolve
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.cluster.RedisCluster._process_result
    - sock.connect
    - abc.ABC.__init__
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: redis.commands.policies.BasePolicyResolver.resolve
    functionSourceFile: redis.commands.policies
    functionUses: 523
    functionsReached:
    - command_name.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 20
    IfCount: 14
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - target_node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 1470
    functionName: redis.cluster.RedisCluster._execute_command
    functionSourceFile: redis.cluster
    functionUses: 523
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.cluster.NodesManager.move_slot
    - redis.cache.CacheEntry.__init__
    - nodes_for_slot.append
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - threading.Lock
    - num_versions2.append
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - <builtin>.str
    - redis.connection.Connection._host_error
    - time.monotonic
    - connection._sock.getsockname
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis_node.connection_pool.release
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis_node.connection_pool.get_connection
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.cluster.RedisCluster.get_node
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - redis.cluster.RedisCluster._should_reinitialized
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn.getpeername
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised:
    - ClusterError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - command
    - res
    - response_policy
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1647
    functionName: redis.cluster.RedisCluster._process_result
    functionSourceFile: redis.cluster
    functionUses: 523
    functionsReached:
    - res.values
    - <builtin>.list
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pool.update_active_connections_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 524
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pool.disconnect_free_connections
    functionSourceFile: <builtin>
    functionUses: 524
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1974
    functionName: redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    functionSourceFile: redis.cluster
    functionUses: 524
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 10
    IfCount: 16
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141a61f0>
    - <ast.Constant object at 0x7f6c141a6880>
    argNames:
    - self
    - additional_startup_nodes_info
    - disconnect_startup_nodes_pools
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2085
    functionName: redis.cluster.NodesManager.initialize
    functionSourceFile: redis.cluster
    functionUses: 529
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - nodes_for_slot.append
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - threading.Lock
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - num_versions2.append
    - redis.connection.Connection._host_error
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - abc.ABC.__init__
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - redis.cluster.is_debug_log_enabled
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1624
    functionName: redis.cluster.RedisCluster._extracts_socket_address
    functionSourceFile: redis.cluster
    functionUses: 524
    functionsReached:
    - connection._sock.getsockname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.debug
    functionSourceFile: <builtin>
    functionUses: 663
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1860
    functionName: redis.cluster.NodesManager.move_slot
    functionSourceFile: redis.cluster
    functionUses: 524
    functionsReached:
    - redis.cluster.get_node_name
    - redis.cluster.ClusterNode.__init__
    - socket.gethostbyname
    - slot_nodes.remove
    - slot_nodes.append
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_node.connection_pool.release
    functionSourceFile: <builtin>
    functionUses: 524
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection._sock.getsockname
    functionSourceFile: <builtin>
    functionUses: 529
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2291
    functionName: redis.cluster.NodesManager.close
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - node.redis_connection.close
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - funcname
    - func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1667
    functionName: redis.cluster.RedisCluster.load_external_module
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1677
    functionName: redis.cluster.RedisCluster.transaction
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - pipe.watch
    - redis.cluster.ClusterPipeline.__init__
    - copy.copy.update_supported_errors
    - threading.RLock
    - redis.cluster.TransactionStrategy.__init__
    - pipe.execute
    - copy.copy
    - time.sleep
    - redis.retry.Retry.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - kwargs.pop
    - <builtin>.super
    - kwargs.get
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.RedisCluster.pipeline
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1711
    functionName: redis.cluster.ClusterNode.__repr__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1720
    functionName: redis.cluster.ClusterNode.__eq__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1723
    functionName: redis.cluster.ClusterNode.__hash__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Lock
    functionSourceFile: threading
    functionUses: 592
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - list_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1762
    functionName: redis.cluster.LoadBalancer._get_random_replica_index
    functionSourceFile: redis.cluster
    functionUses: 555
    functionsReached:
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - primary
    - list_size
    - replicas_only
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1765
    functionName: redis.cluster.LoadBalancer._get_round_robin_index
    functionSourceFile: ''
    functionUses: 555
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cache_factory.get_cache
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1383c0a0>
    argNames:
    - self
    - cache_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 417
    functionName: redis.cache.CacheFactory.__init__
    functionSourceFile: redis.cache
    functionUses: 553
    functionsReached:
    - redis.cache.CacheConfig.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 423
    functionName: redis.cache.CacheFactory.get_cache
    functionSourceFile: redis.cache
    functionUses: 553
    functionsReached:
    - redis.cache.CacheConfig.get_cache_class
    - redis.cache.CacheConfig.get_eviction_policy
    - collections.OrderedDict
    - redis.cache.DefaultCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.cluster.NodesManager
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    - redis.utils.deprecated_function
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1966
    functionName: redis.cluster.NodesManager.populate_startup_nodes
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slots_cache
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1991
    functionName: redis.cluster.NodesManager.check_slots_coverage
    functionSourceFile: redis.cluster
    functionUses: 530
    functionsReached:
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 2020
    functionName: redis.cluster.NodesManager.create_redis_node
    functionSourceFile: redis.cluster
    functionUses: 543
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection_pools.append
    functionSourceFile: <builtin>
    functionUses: 543
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134f7c40>
    argNames:
    - self
    - connection_pools
    - client_type
    - credential_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 169
    functionName: redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    functionSourceFile: ''
    functionUses: 558
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 6
    argDefaultValues:
    - <ast.Name object at 0x7f6c147a79a0>
    - <ast.Constant object at 0x7f6c1390d5b0>
    - <ast.Constant object at 0x7f6c1390d5e0>
    - <ast.Constant object at 0x7f6c1390df10>
    argNames:
    - self
    - connection_class
    - max_connections
    - cache_factory
    - maint_notifications_config
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2649
    functionName: redis.connection.ConnectionPool.__init__
    functionSourceFile: redis.connection
    functionUses: 552
    functionsReached:
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - kwargs.get
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - redis.event.EventDispatcher.register_listeners
    - collections.OrderedDict
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.utils.check_protocol_version
    - redis.cache.CacheConfig.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.cache.CacheConfig.get_cache_class
    - redis.event.EventDispatcher.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.cache.CacheFactory.__init__
    - <builtin>.int
    - threading.RLock
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - redis.cache.DefaultCache.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    - RedisError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - role
    - tmp_nodes_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2056
    functionName: redis.cluster.NodesManager._get_or_create_cluster_node
    functionSourceFile: redis.cluster
    functionUses: 530
    functionsReached:
    - socket.gethostbyname
    - tmp_nodes_cache.get
    - redis.cluster.ClusterNode.__init__
    - redis.cluster.get_node_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2077
    functionName: redis.cluster.NodesManager._get_epoch
    functionSourceFile: redis.cluster
    functionUses: 530
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2299
    functionName: redis.cluster.NodesManager.reset
    functionSourceFile: redis.cluster
    functionUses: 530
    functionsReached:
    - redis.cluster.LoadBalancer.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a90910>
    argNames:
    - self
    - moving_address_src
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2544
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    functionSourceFile: redis.connection
    functionUses: 533
    functionsReached:
    - conn.mark_for_reconnect
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - conn.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a90df0>
    argNames:
    - self
    - moving_address_src
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2561
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    functionSourceFile: redis.connection
    functionUses: 533
    functionsReached:
    - redis.connection.ConnectionPool._get_free_connections
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - conn.disconnect
    - conn.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2306
    functionName: redis.cluster.NodesManager.remap_host_port
    functionSourceFile: ''
    functionUses: 530
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_nodes_cache.values
    functionSourceFile: <builtin>
    functionUses: 530
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.close
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2316
    functionName: redis.cluster.NodesManager.find_connection_owner
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - redis.cluster.get_node_name
    - conn_args.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn_args.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d3b460>
    - <ast.Constant object at 0x7f6c12d3bc70>
    - <ast.Constant object at 0x7f6c12d3baf0>
    argNames:
    - self
    - cluster
    - node
    - host
    - port
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2383
    functionName: redis.cluster.ClusterPubSub.set_pubsub_node
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - redis.cluster.get_node_name
    - <builtin>.any
    - socket.gethostbyname
    - redis.cluster.ClusterPubSub._raise_on_invalid_node
    - redis.cluster.RedisCluster.get_node
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2492
    functionName: redis.cluster.ClusterPubSub._pubsubs_generator
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - redis_cluster
    - node
    - host
    - port
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2422
    functionName: redis.cluster.ClusterPubSub._raise_on_invalid_node
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - socket.gethostbyname
    - redis.cluster.RedisCluster.get_node
    - redis.cluster.get_node_name
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2416
    functionName: redis.cluster.ClusterPubSub.get_pubsub_node
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 2432
    functionName: redis.cluster.ClusterPubSub.execute_command
    functionSourceFile: redis.cluster
    functionUses: 8
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - pubsub_connection
    - connection_pool
    - client_type
    - connection_lock
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 224
    functionName: redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    functionSourceFile: ''
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - conn
    - command
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 996
    functionName: redis.client.PubSub._execute
    functionSourceFile: redis.client
    functionUses: 14
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2474
    functionName: redis.cluster.ClusterPubSub._get_node_pubsub
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - node.redis_connection.pubsub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.pubsub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2484
    functionName: redis.cluster.ClusterPubSub._sharded_message_generator
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - <builtin>.range
    - <builtin>.len
    - pubsub.get_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubsub.get_message
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1396e6d0>
    - <ast.Constant object at 0x7f6c1396ea00>
    - <ast.Constant object at 0x7f6c1396ef70>
    argNames:
    - self
    - ignore_subscribe_messages
    - timeout
    - target_node
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2497
    functionName: redis.cluster.ClusterPubSub.get_sharded_message
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.crc.key_slot
    - redis.utils.str_if_bytes
    - <builtin>.next
    - <builtin>.isinstance
    - redis.cluster.ClusterPubSub._sharded_message_generator
    - redis.cluster.RedisCluster.get_node_from_key
    - pubsub.get_message
    - typing.Protocol.decode
    - <builtin>.len
    - <builtin>.range
    - binascii.crc_hqx
    - redis.cluster.RedisCluster.keyslot
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2523
    functionName: redis.cluster.ClusterPubSub.ssubscribe
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - pubsub.ssubscribe
    - redis.client.PubSub._normalize_keys
    - keys.extend
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster.get_node_from_key
    - s_channels.update
    - redis.cluster.RedisCluster.keyslot
    - data.items
    - <builtin>.list
    - redis.crc.key_slot
    - redis.cluster.ClusterPubSub._get_node_pubsub
    - <builtin>.isinstance
    - <builtin>.len
    - binascii.crc_hqx
    - s_channels.items
    - dict.fromkeys
    - <builtin>.iter
    - node.redis_connection.pubsub
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.fromkeys
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s_channels.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s_channels.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubsub.ssubscribe
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1077
    functionName: redis.client.PubSub._normalize_keys
    functionSourceFile: redis.client
    functionUses: 8
    functionsReached:
    - data.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2543
    functionName: redis.cluster.ClusterPubSub.sunsubscribe
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - p.sunsubscribe
    - <builtin>.list
    - redis.crc.key_slot
    - redis.commands.helpers.list_or_args
    - redis.cluster.ClusterPubSub._get_node_pubsub
    - <builtin>.isinstance
    - redis.cluster.RedisCluster.get_node_from_key
    - <builtin>.iter
    - node.redis_connection.pubsub
    - <builtin>.len
    - keys.extend
    - binascii.crc_hqx
    - redis.cluster.RedisCluster.keyslot
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.sunsubscribe
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2557
    functionName: redis.cluster.ClusterPubSub.get_redis_connection
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2564
    functionName: redis.cluster.ClusterPubSub.disconnect
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - pubsub.connection.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubsub.connection.disconnect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pipe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3170
    functionName: redis.cluster.PipelineStrategy.__init__
    functionSourceFile: redis.cluster
    functionUses: 13
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pipe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3571
    functionName: redis.cluster.TransactionStrategy.__init__
    functionSourceFile: redis.cluster
    functionUses: 13
    functionsReached:
    - copy.copy
    - copy.copy.update_supported_errors
    - <builtin>.set
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<dict2>.<lambda1>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<lambda1>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - <builtin>.list
    - random.choice
    - redis.cluster.RedisCluster.get_random_node
    - redis.cluster.RedisCluster.get_random_primary_node
    - redis.cluster.RedisCluster.get_random_primary_or_all_nodes
    - redis.cluster.RedisCluster.get_primaries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<dict2>.<lambda2>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<lambda2>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - random.randrange
    - redis.cluster.RedisCluster.determine_slot
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.crc.key_slot
    - binascii.crc_hqx
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.cluster.LoadBalancer.get_server_index
    - random.randint
    - redis.cluster.RedisCluster.get_default_node
    - <builtin>.len
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.LoadBalancer._get_random_replica_index
    - slots.pop
    - <builtin>.int
    - redis.cluster.RedisCluster.get_nodes_from_slot
    - command.upper
    - redis.cluster.RedisCluster.keyslot
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<dict2>.<lambda3>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<lambda3>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.RedisCluster.get_default_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<dict2>.<lambda4>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<lambda4>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.RedisCluster._split_multi_shard_command
    - redis.cluster.RedisCluster.get_default_node
    - redis.cluster.RedisCluster._get_command_keys
    - commands.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<dict2>.<lambda5>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.ClusterPipeline.__init__.<dict2>.<lambda6>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2683
    functionName: redis.cluster.ClusterPipeline.__repr__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2687
    functionName: redis.cluster.ClusterPipeline.__enter__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2691
    functionName: redis.cluster.ClusterPipeline.__exit__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.ClusterPipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2745
    functionName: redis.cluster.ClusterPipeline.reset
    functionSourceFile: redis.cluster
    functionUses: 11
    functionsReached:
    - typing.Protocol._execution_strategy.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2695
    functionName: redis.cluster.ClusterPipeline.__del__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.reset
    - redis.cluster.ClusterPipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2701
    functionName: redis.cluster.ClusterPipeline.__len__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2705
    functionName: redis.cluster.ClusterPipeline.__bool__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2715
    functionName: redis.cluster.ClusterPipeline.pipeline_execute_command
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception
    - number
    - command
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2729
    functionName: redis.cluster.ClusterPipeline.annotate_exception
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.annotate_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.annotate_exception
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140aad60>
    - <ast.Constant object at 0x7f6c140aa8b0>
    argNames:
    - self
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2751
    functionName: redis.cluster.ClusterPipeline.send_cluster_commands
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.send_cluster_commands
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.send_cluster_commands
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2758
    functionName: redis.cluster.ClusterPipeline.exists
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.exists
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2761
    functionName: redis.cluster.ClusterPipeline.eval
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.eval
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2765
    functionName: redis.cluster.ClusterPipeline.multi
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.multi
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2772
    functionName: redis.cluster.ClusterPipeline.load_scripts
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.load_scripts
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.load_scripts
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2776
    functionName: redis.cluster.ClusterPipeline.discard
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.discard
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2780
    functionName: redis.cluster.ClusterPipeline.watch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.watch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2784
    functionName: redis.cluster.ClusterPipeline.unwatch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.unwatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2788
    functionName: redis.cluster.ClusterPipeline.script_load_for_pipeline
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.script_load_for_pipeline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.script_load_for_pipeline
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2791
    functionName: redis.cluster.ClusterPipeline.delete
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - typing.Protocol._execution_strategy.delete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._execution_strategy.delete
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2794
    functionName: redis.cluster.ClusterPipeline.unlink
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2804
    functionName: redis.cluster.block_pipeline_command.inner
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13754760>
    - <ast.Constant object at 0x7f6c137545b0>
    argNames:
    - self
    - args
    - options
    - position
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2895
    functionName: redis.cluster.PipelineCommand.__init__
    functionSourceFile: redis.cluster
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - parse_response
    - connection_pool
    - connection
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2910
    functionName: redis.cluster.NodeCommands.__init__
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - c
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2917
    functionName: redis.cluster.NodeCommands.append
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2921
    functionName: redis.cluster.NodeCommands.write
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - connection.send_packed_command
    - connection.pack_commands
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2943
    functionName: redis.cluster.NodeCommands.read
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exc_info
    functionSourceFile: sys
    functionUses: 645
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.ExecutionStrategy
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2979
    functionName: redis.cluster.ExecutionStrategy.command_queue
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2983
    functionName: redis.cluster.ExecutionStrategy.execute_command
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception
    - number
    - command
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2992
    functionName: redis.cluster.ExecutionStrategy.annotate_exception
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3001
    functionName: redis.cluster.ExecutionStrategy.pipeline_execute_command
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cddaf0>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3010
    functionName: redis.cluster.ExecutionStrategy.execute
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cdddc0>
    - <ast.Constant object at 0x7f6c13cdd160>
    argNames:
    - self
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3019
    functionName: redis.cluster.ExecutionStrategy.send_cluster_commands
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3030
    functionName: redis.cluster.ExecutionStrategy.reset
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3039
    functionName: redis.cluster.ExecutionStrategy.exists
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3043
    functionName: redis.cluster.ExecutionStrategy.eval
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3047
    functionName: redis.cluster.ExecutionStrategy.multi
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3056
    functionName: redis.cluster.ExecutionStrategy.load_scripts
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3060
    functionName: redis.cluster.ExecutionStrategy.watch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3064
    functionName: redis.cluster.ExecutionStrategy.unwatch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3073
    functionName: redis.cluster.ExecutionStrategy.script_load_for_pipeline
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3077
    functionName: redis.cluster.ExecutionStrategy.delete
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3086
    functionName: redis.cluster.ExecutionStrategy.unlink
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3095
    functionName: redis.cluster.ExecutionStrategy.discard
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pipe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3100
    functionName: redis.cluster.AbstractStrategy.__init__
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - queue
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3113
    functionName: redis.cluster.AbstractStrategy.command_queue
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cluster.AbstractStrategy
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3117
    functionName: redis.cluster.AbstractStrategy.execute_command
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3120
    functionName: redis.cluster.AbstractStrategy.pipeline_execute_command
    functionSourceFile: redis.cluster
    functionUses: 9
    functionsReached:
    - redis.cluster.PipelineCommand.__init__
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13e2dcd0>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3127
    functionName: redis.cluster.AbstractStrategy.execute
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b3ac0>
    - <ast.Constant object at 0x7f6c143b3070>
    argNames:
    - self
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3131
    functionName: redis.cluster.AbstractStrategy.send_cluster_commands
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3137
    functionName: redis.cluster.AbstractStrategy.reset
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3140
    functionName: redis.cluster.AbstractStrategy.exists
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._validate_watch
    - redis.cluster.PipelineCommand.__init__
    - redis.cluster.PipelineStrategy.execute_command
    - redis.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.len
    - redis.cluster.TransactionStrategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3174
    functionName: redis.cluster.PipelineStrategy.execute_command
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - redis.cluster.PipelineCommand.__init__
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3616
    functionName: redis.cluster.TransactionStrategy.execute_command
    functionSourceFile: redis.cluster
    functionUses: 5
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._validate_watch
    - redis.cluster.PipelineCommand.__init__
    - redis.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - CrossSlotTransactionError
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3143
    functionName: redis.cluster.AbstractStrategy.eval
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3147
    functionName: redis.cluster.AbstractStrategy.load_scripts
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3151
    functionName: redis.cluster.AbstractStrategy.script_load_for_pipeline
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception
    - number
    - command
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3157
    functionName: redis.cluster.AbstractStrategy.annotate_exception
    functionSourceFile: redis.cluster
    functionUses: 7
    functionsReached:
    - <builtin>.map
    - redis.utils.truncate_text
    - textwrap.shorten
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stack
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3177
    functionName: redis.cluster.PipelineStrategy._raise_first_error
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - redis.cluster.AbstractStrategy.annotate_exception
    - <builtin>.map
    - <builtin>.isinstance
    - textwrap.shorten
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4b1f0>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 3187
    functionName: redis.cluster.PipelineStrategy.execute
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    - redis.cluster.PipelineStrategy.reset
    - n.write
    - target_nodes.values
    - response.append
    - kwargs.pop
    - n.read
    - redis.cluster.PipelineStrategy._determine_nodes
    - redis_node.connection_pool.get_connection
    - redis.cluster.PipelineStrategy._raise_first_error
    - <builtin>.sorted
    - <builtin>.map
    - <builtin>.isinstance
    - redis.cluster.PipelineStrategy._is_nodes_flag
    - redis.cluster.NodeCommands.__init__
    - <builtin>.len
    - textwrap.shorten
    - nodes.values
    - n.connection_pool.release
    - redis.cluster.PipelineStrategy._send_cluster_commands
    - redis.cluster.PipelineStrategy._parse_target_nodes
    - redis.cluster.AbstractStrategy.annotate_exception
    - c.options.pop
    - redis.cluster.get_connection
    - redis.cluster.PipelineStrategy.send_cluster_commands
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4b4c0>
    - <ast.Constant object at 0x7f6c13c4b580>
    argNames:
    - self
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 3203
    functionName: redis.cluster.PipelineStrategy.send_cluster_commands
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    - n.write
    - target_nodes.values
    - response.append
    - kwargs.pop
    - n.read
    - redis.cluster.PipelineStrategy._determine_nodes
    - redis_node.connection_pool.get_connection
    - redis.cluster.PipelineStrategy._raise_first_error
    - <builtin>.sorted
    - <builtin>.map
    - <builtin>.isinstance
    - redis.cluster.PipelineStrategy._is_nodes_flag
    - redis.cluster.NodeCommands.__init__
    - <builtin>.len
    - textwrap.shorten
    - nodes.values
    - n.connection_pool.release
    - redis.cluster.PipelineStrategy._send_cluster_commands
    - redis.cluster.PipelineStrategy._parse_target_nodes
    - redis.cluster.AbstractStrategy.annotate_exception
    - c.options.pop
    - redis.cluster.get_connection
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3197
    functionName: redis.cluster.PipelineStrategy.reset
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 26
    ICount: 13
    IfCount: 18
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13372520>
    - <ast.Constant object at 0x7f6c13372220>
    argNames:
    - self
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 3240
    functionName: redis.cluster.PipelineStrategy._send_cluster_commands
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    - n.write
    - target_nodes.values
    - response.append
    - kwargs.pop
    - n.read
    - redis.cluster.PipelineStrategy._determine_nodes
    - redis_node.connection_pool.get_connection
    - redis.cluster.PipelineStrategy._raise_first_error
    - <builtin>.sorted
    - <builtin>.map
    - <builtin>.isinstance
    - redis.cluster.PipelineStrategy._is_nodes_flag
    - redis.cluster.NodeCommands.__init__
    - <builtin>.len
    - textwrap.shorten
    - nodes.values
    - n.connection_pool.release
    - redis.cluster.AbstractStrategy.annotate_exception
    - redis.cluster.PipelineStrategy._parse_target_nodes
    - c.options.pop
    - redis.cluster.get_connection
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.PipelineStrategy._send_cluster_commands.<lambda1>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.options.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3460
    functionName: redis.cluster.PipelineStrategy._is_nodes_flag
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target_nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3463
    functionName: redis.cluster.PipelineStrategy._parse_target_nodes
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - target_nodes.values
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - request_policy
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3483
    functionName: redis.cluster.PipelineStrategy._determine_nodes
    functionSourceFile: redis.cluster
    functionUses: 3
    functionsReached:
    - kwargs.pop
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: n.connection_pool.release
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: n.write
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: n.read
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.PipelineStrategy._send_cluster_commands.<lambda2>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cluster.PipelineStrategy._send_cluster_commands.<lambda3>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3522
    functionName: redis.cluster.PipelineStrategy.multi
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3527
    functionName: redis.cluster.PipelineStrategy.discard
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3532
    functionName: redis.cluster.PipelineStrategy.watch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3537
    functionName: redis.cluster.PipelineStrategy.unwatch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3542
    functionName: redis.cluster.PipelineStrategy.delete
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.PipelineStrategy.execute_command
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - redis.cluster.PipelineCommand.__init__
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3550
    functionName: redis.cluster.PipelineStrategy.unlink
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.PipelineStrategy.execute_command
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - redis.cluster.PipelineCommand.__init__
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3583
    functionName: redis.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    functionSourceFile: redis.cluster
    functionUses: 4
    functionsReached:
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - previous_node.connection_pool.release
    - redis_node.connection_pool.owns_connection
    - redis.cluster.get_connection
    linkageType: pythonLinkage
    raised:
    - RedisClusterException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_node.connection_pool.owns_connection
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: previous_node.connection_pool.release
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3647
    functionName: redis.cluster.TransactionStrategy._validate_watch
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3653
    functionName: redis.cluster.TransactionStrategy._immediate_execute_command
    functionSourceFile: redis.cluster
    functionUses: 6
    functionsReached:
    - copy.copy.call_with_retry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.cluster.TransactionStrategy._immediate_execute_command.<lambda1>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - conn.send_command
    - previous_node.connection_pool.release
    - redis_node.connection_pool.owns_connection
    - redis_node.parse_response
    - redis.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis.cluster.get_connection
    - redis.cluster.TransactionStrategy._get_connection_and_send_command
    - redis.cluster.TransactionStrategy._send_command_parse_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3659
    functionName: redis.cluster.TransactionStrategy._get_connection_and_send_command
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - conn.send_command
    - previous_node.connection_pool.release
    - redis_node.connection_pool.owns_connection
    - redis_node.parse_response
    - redis.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis.cluster.get_connection
    - redis.cluster.TransactionStrategy._send_command_parse_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - conn
    - redis_node
    - command_name
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3665
    functionName: redis.cluster.TransactionStrategy._send_command_parse_response
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - conn.send_command
    - redis_node.parse_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3679
    functionName: redis.cluster.TransactionStrategy._reinitialize_on_error
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    - node.redis_connection.connection_pool.release
    linkageType: pythonLinkage
    raised:
    - WatchError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.connection_pool.release
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - responses
    - stack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3710
    functionName: redis.cluster.TransactionStrategy._raise_first_error
    functionSourceFile: redis.cluster
    functionUses: 2
    functionsReached:
    - <builtin>.zip
    - redis.cluster.AbstractStrategy.annotate_exception
    - <builtin>.map
    - <builtin>.isinstance
    - textwrap.shorten
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14122e20>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3719
    functionName: redis.cluster.TransactionStrategy.execute
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._execute_transaction_with_retries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stack
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3726
    functionName: redis.cluster.TransactionStrategy._execute_transaction_with_retries
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - copy.copy.call_with_retry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.cluster.TransactionStrategy._execute_transaction_with_retries.<lambda1>
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - data.append
    - <builtin>.zip
    - <builtin>.enumerate
    - redis.cluster.PipelineCommand.__init__
    - redis_node.connection_pool.owns_connection
    - redis.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis.cluster.TransactionStrategy._raise_first_error
    - previous_node.connection_pool.release
    - redis.cluster.TransactionStrategy._execute_transaction
    - redis.utils.truncate_text
    - redis_node.parse_response
    - itertools.chain
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - <builtin>.map
    - <builtin>.isinstance
    - response.insert
    - connection.send_packed_command
    - textwrap.shorten
    - <builtin>.len
    - redis.cluster.AbstractStrategy.annotate_exception
    - connection.pack_commands
    - redis.cluster.get_connection
    - errors.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 14
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stack
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3734
    functionName: redis.cluster.TransactionStrategy._execute_transaction
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - data.append
    - <builtin>.zip
    - <builtin>.enumerate
    - redis.cluster.PipelineCommand.__init__
    - redis_node.connection_pool.owns_connection
    - redis.cluster.TransactionStrategy._get_client_and_connection_for_transaction
    - redis.cluster.TransactionStrategy._raise_first_error
    - previous_node.connection_pool.release
    - redis.utils.truncate_text
    - redis_node.parse_response
    - itertools.chain
    - redis_node.connection_pool.get_connection
    - <builtin>.list
    - <builtin>.map
    - <builtin>.isinstance
    - response.insert
    - connection.send_packed_command
    - textwrap.shorten
    - <builtin>.len
    - redis.cluster.AbstractStrategy.annotate_exception
    - connection.pack_commands
    - redis.cluster.get_connection
    - errors.append
    linkageType: pythonLinkage
    raised:
    - CrossSlotTransactionError
    - WatchError
    - InvalidPipelineStack
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3834
    functionName: redis.cluster.TransactionStrategy.reset
    functionSourceFile: redis.cluster
    functionUses: 1
    functionsReached:
    - node.redis_connection.connection_pool.release
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d8e9d0>
    - <ast.Constant object at 0x7f6c12d8e5b0>
    argNames:
    - self
    - stack
    - raise_on_error
    - allow_redirections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3875
    functionName: redis.cluster.TransactionStrategy.send_cluster_commands
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3882
    functionName: redis.cluster.TransactionStrategy.multi
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3891
    functionName: redis.cluster.TransactionStrategy.watch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._validate_watch
    - redis.cluster.PipelineCommand.__init__
    - redis.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.len
    - redis.cluster.TransactionStrategy.execute_command
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3897
    functionName: redis.cluster.TransactionStrategy.unwatch
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._validate_watch
    - redis.cluster.PipelineCommand.__init__
    - redis.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.len
    - redis.cluster.TransactionStrategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3903
    functionName: redis.cluster.TransactionStrategy.discard
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - node.redis_connection.connection_pool.release
    - <builtin>.set
    - redis.cluster.TransactionStrategy.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3906
    functionName: redis.cluster.TransactionStrategy.delete
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._validate_watch
    - redis.cluster.PipelineCommand.__init__
    - redis.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.len
    - redis.cluster.TransactionStrategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3909
    functionName: redis.cluster.TransactionStrategy.unlink
    functionSourceFile: redis.cluster
    functionUses: 0
    functionsReached:
    - redis.cluster.AbstractStrategy.pipeline_execute_command
    - copy.copy.call_with_retry
    - redis.cluster.TransactionStrategy._validate_watch
    - redis.cluster.PipelineCommand.__init__
    - redis.cluster.TransactionStrategy._immediate_execute_command
    - <builtin>.len
    - redis.cluster.TransactionStrategy.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.lock
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.local
    functionSourceFile: threading
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.SimpleNamespace
    functionSourceFile: types
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 157
    functionName: redis.lock.Lock.register_scripts
    functionSourceFile: redis.lock
    functionUses: 3
    functionsReached:
    - redis.cluster.RedisCluster.get_encoder
    - redis.connection.ConnectionPool.get_encoder
    - redis.commands.core.ScriptCommands.register_script
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - kwargs.get
    - redis.commands.core.Script.__init__
    - redis.client.Redis.get_encoder
    - redis.commands.core.Script.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - script
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 6470
    functionName: redis.commands.core.ScriptCommands.register_script
    functionSourceFile: redis.commands.core
    functionUses: 4
    functionsReached:
    - redis.cluster.RedisCluster.get_encoder
    - redis.connection.ConnectionPool.get_encoder
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - kwargs.get
    - redis.commands.core.Script.__init__
    - redis.client.Redis.get_encoder
    - redis.commands.core.Script.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 167
    functionName: redis.lock.Lock.__enter__
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.cluster.RedisCluster.get_encoder
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - uuid.uuid1
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - redis.connection.ConnectionPool.get_encoder
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.lock.Lock.acquire
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.lock.Lock.do_acquire
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a48880>
    - <ast.Constant object at 0x7f6c13a486a0>
    - <ast.Constant object at 0x7f6c13a48a30>
    - <ast.Constant object at 0x7f6c13a483a0>
    argNames:
    - self
    - sleep
    - blocking
    - blocking_timeout
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 190
    functionName: redis.lock.Lock.acquire
    functionSourceFile: redis.lock
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.cluster.RedisCluster.get_encoder
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - uuid.uuid1
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - redis.connection.ConnectionPool.get_encoder
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.lock.Lock.do_acquire
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 175
    functionName: redis.lock.Lock.__exit__
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.lock.Lock.release
    - redis.lock.Lock.do_release
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: redis.lock.Lock.release
    functionSourceFile: redis.lock
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - redis.lock.Lock.do_release
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.warning
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.uuid1
    functionSourceFile: uuid
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 466
    functionName: redis.client.Redis.get_encoder
    functionSourceFile: redis.client
    functionUses: 12
    functionsReached:
    - redis.connection.ConnectionPool.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.monotonic
    functionSourceFile: time
    functionUses: 653
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 237
    functionName: redis.lock.Lock.do_acquire
    functionSourceFile: redis.lock
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 10
    IfCount: 10
    argCount: 15
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149ec370>
    - <ast.Constant object at 0x7f6c149ec4c0>
    - <ast.Constant object at 0x7f6c149ec430>
    - <ast.Constant object at 0x7f6c149ec580>
    - <ast.Constant object at 0x7f6c149ec520>
    - <ast.Constant object at 0x7f6c149ec340>
    - <ast.Constant object at 0x7f6c149ec1f0>
    - <ast.Constant object at 0x7f6c149ec9d0>
    - <ast.Constant object at 0x7f6c149ecf40>
    - <ast.Constant object at 0x7f6c149ec850>
    - <ast.Constant object at 0x7f6c149ec5e0>
    - <ast.Constant object at 0x7f6c149ec160>
    argNames:
    - self
    - name
    - value
    - ex
    - px
    - nx
    - xx
    - keepttl
    - get
    - exat
    - pxat
    - ifeq
    - ifne
    - ifdeq
    - ifdne
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2548
    functionName: redis.commands.core.BasicKeyCommands.set
    functionSourceFile: redis.commands.core
    functionUses: 7
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 247
    functionName: redis.lock.Lock.locked
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.commands.core.BasicKeyCommands.get
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2057
    functionName: redis.commands.core.BasicKeyCommands.get
    functionSourceFile: redis.commands.core
    functionUses: 5
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 253
    functionName: redis.lock.Lock.owned
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.cluster.RedisCluster.get_encoder
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - redis.connection.ConnectionPool.get_encoder
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.commands.core.BasicKeyCommands.get
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expected_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: redis.lock.Lock.do_release
    functionSourceFile: redis.lock
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised:
    - LockNotOwnedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fa5970>
    argNames:
    - self
    - additional_time
    - replace_ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 287
    functionName: redis.lock.Lock.extend
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.lock.Lock.do_extend
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - additional_time
    - replace_ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: redis.lock.Lock.do_extend
    functionSourceFile: redis.lock
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockNotOwnedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 319
    functionName: redis.lock.Lock.reacquire
    functionSourceFile: redis.lock
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.lock.Lock.do_reacquire
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: redis.lock.Lock.do_reacquire
    functionSourceFile: redis.lock
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockNotOwnedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.typing
    functionSourceFile: redis.typing
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: redis.typing.CommandsProtocol.execute_command
    functionSourceFile: redis.typing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers
    functionSourceFile: redis._parsers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.resp2
    functionSourceFile: redis._parsers.resp2
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377eb20>
    argNames:
    - self
    - disable_decoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 12
    functionName: redis._parsers.resp2._RESP2Parser.read_response
    functionSourceFile: redis._parsers.resp2
    functionUses: 0
    functionsReached:
    - response.split
    - sock.recv
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    - buf.seek
    - redis._parsers.base.BaseParser.parse_error
    - buf.write
    - sock.settimeout
    - buf.tell
    - response.decode
    - redis._parsers.socket.SocketBuffer.readline
    - redis._parsers.socket.SocketBuffer.get_pos
    - redis._parsers.socket.SocketBuffer.unread_bytes
    - <builtin>.isinstance
    - buf.readline
    - redis._parsers.socket.SocketBuffer.rewind
    - exception_class.get
    - redis._parsers.socket.SocketBuffer.purge
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - redis._parsers.resp2._RESP2Parser._read_response
    - redis._parsers.socket.SocketBuffer.read
    - data.endswith
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 120
    functionName: redis._parsers.socket.SocketBuffer.get_pos
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c131be580>
    argNames:
    - self
    - disable_decoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 24
    functionName: redis._parsers.resp2._RESP2Parser._read_response
    functionSourceFile: redis._parsers.resp2
    functionUses: 1
    functionsReached:
    - response.split
    - sock.recv
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    - buf.seek
    - redis._parsers.base.BaseParser.parse_error
    - buf.write
    - sock.settimeout
    - buf.tell
    - response.decode
    - redis._parsers.socket.SocketBuffer.readline
    - <builtin>.isinstance
    - buf.readline
    - exception_class.get
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - redis._parsers.resp2._RESP2Parser._read_response
    - redis._parsers.socket.SocketBuffer.read
    - data.endswith
    - <builtin>.range
    linkageType: pythonLinkage
    raised:
    - InvalidResponse
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: redis._parsers.socket.SocketBuffer.rewind
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: redis._parsers.socket.SocketBuffer.purge
    functionSourceFile: redis._parsers.socket
    functionUses: 2
    functionsReached:
    - redis._parsers.socket.SocketBuffer.unread_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: redis._parsers.socket.SocketBuffer.readline
    functionSourceFile: redis._parsers.socket
    functionUses: 4
    functionsReached:
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - buf.seek
    - sock.recv
    - <builtin>.isinstance
    - buf.readline
    - buf.write
    - sock.settimeout
    - buf.tell
    - data.endswith
    - <builtin>.len
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.decode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: redis._parsers.base.BaseParser.parse_error
    functionSourceFile: redis._parsers.base
    functionUses: 8
    functionsReached:
    - exception_class.get
    - <builtin>.isinstance
    - response.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 99
    functionName: redis._parsers.socket.SocketBuffer.read
    functionSourceFile: redis._parsers.socket
    functionUses: 4
    functionsReached:
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - buf.seek
    - sock.recv
    - <builtin>.isinstance
    - buf.write
    - sock.settimeout
    - buf.tell
    - <builtin>.len
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149f0820>
    argNames:
    - self
    - disable_decoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 74
    functionName: redis._parsers.resp2._AsyncRESP2Parser.read_response
    functionSourceFile: redis._parsers.resp2
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - response.split
    - redis._parsers.base._AsyncRESPBase._readline
    - redis._parsers.resp2._AsyncRESP2Parser._read_response
    - redis._parsers.base.BaseParser.parse_error
    - redis._parsers.base._AsyncRESPBase._read
    - <builtin>.range
    - <builtin>.isinstance
    - exception_class.get
    - data.endswith
    - <builtin>.len
    - response.decode
    - redis._parsers.base._AsyncRESPBase._clear
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1390df40>
    argNames:
    - self
    - disable_decoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 87
    functionName: redis._parsers.resp2._AsyncRESP2Parser._read_response
    functionSourceFile: redis._parsers.resp2
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - response.split
    - redis._parsers.base._AsyncRESPBase._readline
    - redis._parsers.base._AsyncRESPBase._read
    - <builtin>.range
    - redis._parsers.base.BaseParser.parse_error
    - redis._parsers.resp2._AsyncRESP2Parser._read_response
    - <builtin>.isinstance
    - exception_class.get
    - data.endswith
    - <builtin>.len
    - response.decode
    - redis._parsers.base._AsyncRESPBase._clear
    linkageType: pythonLinkage
    raised:
    - InvalidResponse
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 501
    functionName: redis._parsers.base._AsyncRESPBase._clear
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 549
    functionName: redis._parsers.base._AsyncRESPBase._readline
    functionSourceFile: redis._parsers.base
    functionUses: 4
    functionsReached:
    - data.endswith
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 529
    functionName: redis._parsers.base._AsyncRESPBase._read
    functionSourceFile: redis._parsers.base
    functionUses: 4
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.hiredis
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: redis._parsers.hiredis._HiredisParser.__init__
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - <builtin>.bytearray
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytearray
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: redis._parsers.hiredis._HiredisParser.__del__
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - redis._parsers.hiredis._HiredisParser.on_disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis._parsers.hiredis._HiredisParser.on_disconnect
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: redis._parsers.hiredis._HiredisParser.handle_pubsub_push_response
    functionSourceFile: redis._parsers.hiredis
    functionUses: 4
    functionsReached:
    - logging.getLogger
    - logging.getLogger.debug
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger.debug
    functionSourceFile: logging
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - connection
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: redis._parsers.hiredis._HiredisParser.on_connect
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - hiredis.Reader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hiredis.Reader
    functionSourceFile: hiredis
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: redis._parsers.hiredis._HiredisParser.can_read
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - redis._parsers.hiredis._HiredisParser.read_from_socket
    - sock.settimeout
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c12d5d880>
    - <ast.Constant object at 0x7f6c12d5df10>
    argNames:
    - self
    - timeout
    - raise_on_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: redis._parsers.hiredis._HiredisParser.read_from_socket
    functionSourceFile: redis._parsers.hiredis
    functionUses: 2
    functionsReached:
    - sock.settimeout
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.settimeout
    functionSourceFile: <builtin>
    functionUses: 655
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136f0820>
    - <ast.Constant object at 0x7f6c136f0eb0>
    argNames:
    - self
    - disable_decoding
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: redis._parsers.hiredis._HiredisParser.read_response
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - msg_type.decode
    - redis._parsers.resp3._RESP3Parser.handle_pubsub_push_response
    - redis._parsers.hiredis._HiredisParser.read_from_socket
    - <builtin>.isinstance
    - redis._parsers.hiredis._HiredisParser.handle_pubsub_push_response
    - logging.getLogger.debug
    - logging.getLogger
    - logger.error
    - sock.settimeout
    - <builtin>.str
    - redis._parsers.hiredis._HiredisParser.read_response
    - redis._parsers.base.PushNotificationsParser.handle_push_response
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 3
    IfCount: 11
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 316
    functionName: redis._parsers.base.PushNotificationsParser.handle_push_response
    functionSourceFile: redis._parsers.base
    functionUses: 3
    functionsReached:
    - msg_type.decode
    - redis._parsers.resp3._RESP3Parser.handle_pubsub_push_response
    - <builtin>.isinstance
    - redis._parsers.hiredis._HiredisParser.handle_pubsub_push_response
    - logging.getLogger
    - logger.error
    - <builtin>.str
    - logging.getLogger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: redis._parsers.hiredis._AsyncHiredisParser.__init__
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 208
    functionName: redis._parsers.hiredis._AsyncHiredisParser.handle_pubsub_push_response
    functionSourceFile: redis._parsers.hiredis
    functionUses: 4
    functionsReached:
    - logging.getLogger
    - logging.getLogger.debug
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: redis._parsers.hiredis._AsyncHiredisParser.on_connect
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - hiredis.Reader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 237
    functionName: redis._parsers.hiredis._AsyncHiredisParser.on_disconnect
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 240
    functionName: redis._parsers.hiredis._AsyncHiredisParser.can_read_destructive
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - redis._parsers.hiredis._AsyncHiredisParser.read_from_socket
    - <builtin>.isinstance
    - asyncio.timeout
    - async_timeout.timeout
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.timeout
    functionSourceFile: asyncio
    functionUses: 583
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: async_timeout.timeout
    functionSourceFile: async_timeout
    functionUses: 583
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: redis._parsers.hiredis._AsyncHiredisParser.read_from_socket
    functionSourceFile: redis._parsers.hiredis
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137f4070>
    - <ast.Constant object at 0x7f6c137f4670>
    argNames:
    - self
    - disable_decoding
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 260
    functionName: redis._parsers.hiredis._AsyncHiredisParser.read_response
    functionSourceFile: redis._parsers.hiredis
    functionUses: 0
    functionsReached:
    - msg_type.decode
    - redis._parsers.base.AsyncPushNotificationsParser.handle_push_response
    - redis._parsers.resp3._AsyncRESP3Parser.handle_pubsub_push_response
    - <builtin>.isinstance
    - redis._parsers.hiredis._AsyncHiredisParser.read_response
    - redis._parsers.hiredis._AsyncHiredisParser.handle_pubsub_push_response
    - redis._parsers.hiredis._AsyncHiredisParser.read_from_socket
    - logging.getLogger
    - logger.error
    - <builtin>.str
    - logging.getLogger.debug
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 2
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 408
    functionName: redis._parsers.base.AsyncPushNotificationsParser.handle_push_response
    functionSourceFile: redis._parsers.base
    functionUses: 3
    functionsReached:
    - msg_type.decode
    - redis._parsers.resp3._AsyncRESP3Parser.handle_pubsub_push_response
    - <builtin>.isinstance
    - redis._parsers.hiredis._AsyncHiredisParser.handle_pubsub_push_response
    - logging.getLogger
    - logger.error
    - <builtin>.str
    - logging.getLogger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.utils
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.int
    - contextlib.contextmanager
    - hiredis.__version__.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hiredis.__version__.split
    functionSourceFile: hiredis
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 47
    functionName: redis.utils.from_url
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.connection.ConnectionPool.from_url
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.client.Redis.from_url
    - redis.connection.AbstractConnection.check_health
    - redis.connection.parse_url
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - urllib.parse.urlparse
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - urllib.parse.unquote
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - urllib.parse.parse_qs
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - urllib.parse.parse_qs.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - urllib.parse.unquote.replace
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - urllib.parse.urlparse.startswith
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - URL_QUERY_ARGUMENT_PARSERS.get
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 133
    functionName: redis.client.Redis.from_url
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - kwargs.update
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.connection.ConnectionPool.from_url
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - kwargs.pop
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.parse_url
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - urllib.parse.urlparse
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - urllib.parse.unquote
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - urllib.parse.parse_qs
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - urllib.parse.parse_qs.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - urllib.parse.unquote.replace
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - urllib.parse.urlparse.startswith
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - URL_QUERY_ARGUMENT_PARSERS.get
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.connection.AbstractConnection._ping_failed
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - redis_obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: redis.utils.pipeline
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - redis_obj.pipeline
    - p.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_obj.pipeline
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.execute
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.decode
    functionSourceFile: typing
    functionUses: 745
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 72
    functionName: redis.utils.safe_str
    functionSourceFile: redis.utils
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: merged.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - command
    - res
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: redis.utils.merge_result
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - result.add
    - res.values
    - <builtin>.list
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134b1e20>
    - <ast.Constant object at 0x7f6c134b1190>
    - <ast.Constant object at 0x7f6c134b10d0>
    argNames:
    - name
    - reason
    - version
    - stacklevel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: redis.utils.warn_deprecated
    functionSourceFile: redis.utils
    functionUses: 2
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.iscoroutinefunction
    functionSourceFile: inspect
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: redis.utils.deprecated_function.decorator.async_wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    - redis.utils.warn_deprecated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 140
    functionName: redis.utils.deprecated_function.decorator.wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    - redis.utils.warn_deprecated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13b40c10>
    - <ast.Constant object at 0x7f6c13b40370>
    - <ast.Constant object at 0x7f6c13b40ee0>
    argNames:
    - arg_name
    - function_name
    - reason
    - version
    - stacklevel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: redis.utils.warn_deprecated_arg_usage
    functionSourceFile: redis.utils
    functionUses: 3
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14058820>
    argNames:
    - func
    - args
    - kwargs
    - allowed_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: redis.utils._get_filterable_args
    functionSourceFile: redis.utils
    functionUses: 4
    functionsReached:
    - filterable_args.pop
    - filterable_args.update
    - <builtin>.zip
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filterable_args.update
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filterable_args.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - func
    - filterable_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 204
    functionName: redis.utils.deprecated_args._check_deprecated_args
    functionSourceFile: redis.utils
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - warnings.warn
    - redis.utils.warn_deprecated_arg_usage
    - <builtin>.len
    - filterable_args.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filterable_args.keys
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 224
    functionName: redis.utils.deprecated_args.decorator.async_wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - filterable_args.pop
    - <builtin>.list
    - filterable_args.update
    - redis.utils._get_filterable_args
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.deprecated_args._check_deprecated_args
    - redis.utils.warn_deprecated_arg_usage
    - warnings.warn
    - filterable_args.keys
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 233
    functionName: redis.utils.deprecated_args.decorator.wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - filterable_args.pop
    - <builtin>.list
    - filterable_args.update
    - redis.utils._get_filterable_args
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.deprecated_args._check_deprecated_args
    - redis.utils.warn_deprecated_arg_usage
    - warnings.warn
    - filterable_args.keys
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 243
    functionName: redis.utils._set_info_logger
    functionSourceFile: redis.utils
    functionUses: 4
    functionsReached:
    - handler.setLevel
    - logger.addHandler
    - logging.root.manager.loggerDict.keys
    - logger.setLevel
    - logging.getLogger
    - logging.StreamHandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.root.manager.loggerDict.keys
    functionSourceFile: logging
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.setLevel
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.StreamHandler
    functionSourceFile: logging
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.setLevel
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.addHandler
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: redis.utils.get_lib_version
    functionSourceFile: redis.utils
    functionUses: 562
    functionsReached:
    - importlib.metadata.version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.metadata.version
    functionSourceFile: importlib
    functionUses: 563
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - host_error
    - exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: redis.utils.format_error_message
    functionSourceFile: redis.utils
    functionUses: 2
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - version1
    - version2
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: redis.utils.compare_versions
    functionSourceFile: redis.utils
    functionUses: 590
    functionsReached:
    - <builtin>.list
    - num_versions1.append
    - <builtin>.map
    - <builtin>.enumerate
    - num_versions2.append
    - version2.split
    - <builtin>.len
    - <builtin>.range
    - version1.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: version1.split
    functionSourceFile: <builtin>
    functionUses: 591
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: version2.split
    functionSourceFile: <builtin>
    functionUses: 591
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: num_versions2.append
    functionSourceFile: <builtin>
    functionUses: 591
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: num_versions1.append
    functionSourceFile: <builtin>
    functionUses: 591
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 319
    functionName: redis.utils.ensure_string
    functionSourceFile: redis.utils
    functionUses: 590
    functionsReached:
    - key.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.decode
    functionSourceFile: <builtin>
    functionUses: 591
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 9
    IfCount: 11
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149ecd60>
    - <ast.Constant object at 0x7f6c149ecdc0>
    - <ast.Constant object at 0x7f6c149ec190>
    - <ast.Constant object at 0x7f6c149eca00>
    argNames:
    - ex
    - px
    - exat
    - pxat
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: redis.utils.extract_expire_flags
    functionSourceFile: redis.utils
    functionUses: 12
    functionsReached:
    - ex.isdigit
    - px.total_seconds
    - <builtin>.isinstance
    - pxat.timestamp
    - exat.timestamp
    - exp_options.append
    - <builtin>.int
    - ex.total_seconds
    - exp_options.extend
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exp_options.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ex.total_seconds
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ex.isdigit
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: px.total_seconds
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exat.timestamp
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exp_options.extend
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pxat.timestamp
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: textwrap.shorten
    functionSourceFile: textwrap
    functionUses: 549
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 371
    functionName: redis.utils.dummy_fail
    functionSourceFile: redis.utils
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 378
    functionName: redis.utils.dummy_fail_async
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 385
    functionName: redis.utils.experimental
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 392
    functionName: redis.utils.experimental.new_init
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13983dc0>
    argNames:
    - name
    - stacklevel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 404
    functionName: redis.utils.warn_experimental
    functionSourceFile: redis.utils
    functionUses: 2
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 415
    functionName: redis.utils.experimental_method
    functionSourceFile: redis.utils
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 420
    functionName: redis.utils.experimental_method.decorator
    functionSourceFile: redis.utils
    functionUses: 3
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 424
    functionName: redis.utils.experimental_method.decorator.async_wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - redis.utils.warn_experimental
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 432
    functionName: redis.utils.experimental_method.decorator.wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - redis.utils.warn_experimental
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14171670>
    argNames:
    - arg_name
    - function_name
    - stacklevel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 441
    functionName: redis.utils.warn_experimental_arg_usage
    functionSourceFile: redis.utils
    functionUses: 3
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141f2e80>
    argNames:
    - args_to_warn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 455
    functionName: redis.utils.experimental_args
    functionSourceFile: redis.utils
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - func
    - filterable_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 465
    functionName: redis.utils.experimental_args._check_experimental_args
    functionSourceFile: redis.utils
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - warnings.warn
    - redis.utils.warn_experimental_arg_usage
    - <builtin>.len
    - filterable_args.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: redis.utils.experimental_args.decorator
    functionSourceFile: redis.utils
    functionUses: 1
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 479
    functionName: redis.utils.experimental_args.decorator.async_wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - filterable_args.pop
    - <builtin>.list
    - filterable_args.update
    - redis.utils._get_filterable_args
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.experimental_args._check_experimental_args
    - redis.utils.warn_experimental_arg_usage
    - warnings.warn
    - filterable_args.keys
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 489
    functionName: redis.utils.experimental_args.decorator.wrapper
    functionSourceFile: redis.utils
    functionUses: 0
    functionsReached:
    - filterable_args.pop
    - <builtin>.list
    - filterable_args.update
    - redis.utils._get_filterable_args
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.experimental_args._check_experimental_args
    - redis.utils.warn_experimental_arg_usage
    - warnings.warn
    - filterable_args.keys
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.client
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.__class__.RESULT_CALLBACKS.items
    functionSourceFile: typing
    functionUses: 561
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    functionSourceFile: typing
    functionUses: 561
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.upper
    functionSourceFile: <builtin>
    functionUses: 566
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: redis.client.CaseInsensitiveDict.__contains__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - k.upper
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: redis.client.CaseInsensitiveDict.__delitem__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - k.upper
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: redis.client.CaseInsensitiveDict.__getitem__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - k.upper
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - k
    - v
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: redis.client.CaseInsensitiveDict.__setitem__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - k.upper
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2601
    functionName: redis.connection.ConnectionPool.from_url
    functionSourceFile: redis.connection
    functionUses: 2
    functionsReached:
    - urllib.parse.unquote.replace
    - urllib.parse.unquote
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - kwargs.get
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - kwargs.update
    - urllib.parse.urlparse.startswith
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - redis.event.EventDispatcher.register_listeners
    - collections.OrderedDict
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - urllib.parse.parse_qs
    - <builtin>.list
    - redis.utils.check_protocol_version
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - URL_QUERY_ARGUMENT_PARSERS.get
    - <builtin>.isinstance
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.cache.CacheConfig.get_cache_class
    - redis.event.EventDispatcher.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.len
    - redis.cache.CacheFactory.__init__
    - <builtin>.int
    - threading.RLock
    - urllib.parse.parse_qs.items
    - redis.connection.parse_url
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - urllib.parse.urlparse
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - redis.cache.DefaultCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.client.Redis
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - driver_info
    - lib_name
    - lib_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: redis.driver_info.resolve_driver_info
    functionSourceFile: redis.driver_info
    functionUses: 560
    functionsReached:
    - redis.utils.get_lib_version
    - importlib.metadata.version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: copy
    functionUses: 652
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2729
    functionName: redis.connection.ConnectionPool.get_protocol
    functionSourceFile: ''
    functionUses: 551
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c135f84c0>
    argNames:
    - self
    - command_name
    - keys
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 2805
    functionName: redis.connection.ConnectionPool.get_connection
    functionSourceFile: redis.connection
    functionUses: 578
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - client_type
    - connection_lock
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 200
    functionName: redis.event.AfterSingleConnectionInstantiationEvent.__init__
    functionSourceFile: ''
    functionUses: 568
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 460
    functionName: redis.client.Redis.__repr__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2842
    functionName: redis.connection.ConnectionPool.get_encoder
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 470
    functionName: redis.client.Redis.get_connection_kwargs
    functionSourceFile: redis.client
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 474
    functionName: redis.client.Redis.get_retry
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.client.Redis.get_connection_kwargs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 477
    functionName: redis.client.Redis.set_retry
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.client.Redis.get_connection_kwargs
    - redis.connection.ConnectionPool.set_retry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2918
    functionName: redis.connection.ConnectionPool.set_retry
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 481
    functionName: redis.client.Redis.set_response_callback
    functionSourceFile: redis.client
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - funcname
    - func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 485
    functionName: redis.client.Redis.load_external_module
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e5f970>
    - <ast.Constant object at 0x7f6c12e5fd90>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 508
    functionName: redis.client.Redis.pipeline
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.client.Pipeline.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - connection_pool
    - response_callbacks
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1430
    functionName: redis.client.Pipeline.__init__
    functionSourceFile: redis.client
    functionUses: 9
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 520
    functionName: redis.client.Redis.transaction
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - pipe.watch
    - pipe.execute
    - time.sleep
    - redis.client.Pipeline.__init__
    - redis.client.Redis.pipeline
    - kwargs.pop
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13386250>
    - <ast.Constant object at 0x7f6c13386220>
    - <ast.Constant object at 0x7f6c13386100>
    - <ast.Constant object at 0x7f6c13386a30>
    - <ast.Constant object at 0x7f6c13386520>
    - <ast.Constant object at 0x7f6c133868e0>
    - <ast.Constant object at 0x7f6c13386130>
    argNames:
    - self
    - name
    - timeout
    - sleep
    - blocking
    - blocking_timeout
    - lock_class
    - thread_local
    - raise_on_release_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 544
    functionName: redis.client.Redis.lock
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.lock.Lock.__init__
    - redis.cluster.RedisCluster.get_encoder
    - types.SimpleNamespace
    - redis.connection.ConnectionPool.get_encoder
    - redis.commands.core.ScriptCommands.register_script
    - <builtin>.isinstance
    - redis.lock.Lock.register_scripts
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - threading.local
    - kwargs.get
    - redis.commands.core.Script.__init__
    - redis.client.Redis.get_encoder
    - redis.commands.core.Script.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 625
    functionName: redis.client.Redis.pubsub
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - handler.setLevel
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - logger.addHandler
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.connection.CacheProxyConnection.deregister_connect_callback
    - redis.client.PubSub.__init__
    - <builtin>.super
    - redis.connection.AbstractConnection.deregister_connect_callback
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - logging.root.manager.loggerDict.keys
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.event.EventDispatcher.register_listeners
    - logging.StreamHandler
    - conn_sock.shutdown
    - redis.connection.ConnectionPool.get_encoder
    - conn_sock.close
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - logger.setLevel
    - weakref.WeakMethod
    - logging.getLogger
    - redis.event.EventDispatcher.__init__
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - threading.Event
    - redis.client.PubSub.reset
    - listener.listen
    - redis.utils._set_info_logger
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - threading.RLock
    - redis.connection.ConnectionPool._checkpid
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1436bd60>
    - <ast.Constant object at 0x7f6c1436b430>
    - <ast.Constant object at 0x7f6c1436b730>
    - <ast.Constant object at 0x7f6c1436b520>
    - <ast.Constant object at 0x7f6c1436b7c0>
    argNames:
    - self
    - connection_pool
    - shard_hint
    - ignore_subscribe_messages
    - encoder
    - push_handler_func
    - event_dispatcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 844
    functionName: redis.client.PubSub.__init__
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - handler.setLevel
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - logger.addHandler
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.connection.CacheProxyConnection.deregister_connect_callback
    - <builtin>.super
    - redis.connection.AbstractConnection.deregister_connect_callback
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - abc.ABC.__init__
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - logging.root.manager.loggerDict.keys
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.event.EventDispatcher.register_listeners
    - logging.StreamHandler
    - conn_sock.shutdown
    - redis.connection.ConnectionPool.get_encoder
    - conn_sock.close
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - logger.setLevel
    - weakref.WeakMethod
    - logging.getLogger
    - redis.event.EventDispatcher.__init__
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - threading.Event
    - redis.client.PubSub.reset
    - listener.listen
    - redis.utils._set_info_logger
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - threading.RLock
    - redis.connection.ConnectionPool._checkpid
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 635
    functionName: redis.client.Redis.monitor
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.client.Monitor.__init__
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection_pool
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 760
    functionName: redis.client.Monitor.__init__
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 638
    functionName: redis.client.Redis.client
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - typing.Protocol.__class__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.__class__
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 644
    functionName: redis.client.Redis.__enter__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 647
    functionName: redis.client.Redis.__exit__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.client.Redis.close
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - itertools.chain
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.ConnectionPool.disconnect
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.client.Pipeline.close
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - itertools.chain.disconnect
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 656
    functionName: redis.client.Redis.close
    functionSourceFile: redis.client
    functionUses: 2
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - <builtin>.super
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - itertools.chain
    - redis.event.EventDispatcher.dispatch
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.isinstance
    - redis.connection.ConnectionPool.disconnect
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    - itertools.chain.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1490
    functionName: redis.client.Pipeline.close
    functionSourceFile: redis.client
    functionUses: 2
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 650
    functionName: redis.client.Redis.__del__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.client.Redis.close
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - itertools.chain
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.ConnectionPool.disconnect
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.client.Pipeline.close
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - itertools.chain.disconnect
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2865
    functionName: redis.connection.ConnectionPool.release
    functionSourceFile: redis.connection
    functionUses: 595
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - <builtin>.super
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - <builtin>.isinstance
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a486d0>
    argNames:
    - self
    - inuse_connections
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2894
    functionName: redis.connection.ConnectionPool.disconnect
    functionSourceFile: redis.connection
    functionUses: 4
    functionsReached:
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - redis.connection.ConnectionPool._checkpid
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.super
    - itertools.chain.disconnect
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - conn
    - command_name
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 671
    functionName: redis.client.Redis._send_command_parse_response
    functionSourceFile: redis.client
    functionUses: 2
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - time.monotonic
    - <builtin>.str
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.client.Pipeline.parse_response
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1211
    functionName: redis.connection.AbstractConnection.send_command
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - <builtin>.str
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 1546
    functionName: redis.connection.CacheProxyConnection.send_command
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - time.monotonic
    - typing.Protocol.decode
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - sock.connect
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - command_name
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1677
    functionName: redis.client.Pipeline.parse_response
    functionSourceFile: redis.client
    functionUses: 6
    functionsReached:
    - redis.client.Pipeline.parse_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 678
    functionName: redis.client.Redis._close_connection
    functionSourceFile: redis.client
    functionUses: 545
    functionsReached:
    - conn.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.disconnect
    functionSourceFile: <builtin>
    functionUses: 556
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 695
    functionName: redis.client.Redis._execute_command
    functionSourceFile: redis.client
    functionUses: 543
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - conn.should_reconnect
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - conn.retry.call_with_retry
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: -1
    functionName: redis.client.Redis._execute_command.<lambda1>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - time.monotonic
    - <builtin>.str
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.client.Pipeline.parse_response
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.client.Redis._send_command_parse_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.client.Redis._execute_command.<lambda2>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.client.Redis._close_connection
    - conn.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.should_reconnect
    functionSourceFile: <builtin>
    functionUses: 544
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.connect
    functionSourceFile: <builtin>
    functionUses: 550
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - command_name
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 720
    functionName: redis.client.Redis.parse_response
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - time.monotonic
    - <builtin>.isinstance
    - redis.connection.AbstractConnection._host_error
    - os.getpid
    - redis.connection.AbstractConnection.read_response
    - redis.connection.CacheProxyConnection.read_response
    - redis.connection.Connection._host_error
    - options.pop
    - conn_sock.shutdown
    - conn_sock.close
    - typing.Protocol.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d988e0>
    argNames:
    - self
    - disable_decoding
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1599
    functionName: redis.connection.CacheProxyConnection.read_response
    functionSourceFile: redis.connection
    functionUses: 642
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.AbstractConnection._host_error
    - os.getpid
    - redis.connection.AbstractConnection.read_response
    - redis.connection.Connection._host_error
    - time.monotonic
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.read_response
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c130a1d30>
    argNames:
    - self
    - disable_decoding
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1233
    functionName: redis.connection.AbstractConnection.read_response
    functionSourceFile: redis.connection
    functionUses: 643
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.AbstractConnection._host_error
    - os.getpid
    - redis.connection.Connection._host_error
    - time.monotonic
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.pop
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 743
    functionName: redis.client.Redis.get_cache
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.client.Monitor
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 764
    functionName: redis.client.Monitor.__enter__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis._parsers.helpers.bool_ok
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.client.Monitor._start_monitor
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 822
    functionName: redis.client.Monitor._start_monitor
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.utils.str_if_bytes
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis._parsers.helpers.bool_ok
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 768
    functionName: redis.client.Monitor.__exit__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - <builtin>.super
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - <builtin>.isinstance
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1533
    functionName: redis.connection.CacheProxyConnection.disconnect
    functionSourceFile: redis.connection
    functionUses: 609
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 772
    functionName: redis.client.Monitor.next_command
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - response.split
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - client_info.rsplit
    - redis.connection.Connection._host_error
    - time.monotonic
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - client_info.startswith
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - <builtin>.float
    - os.getpid
    - redis.connection.CacheProxyConnection.read_response
    - conn_sock.shutdown
    - conn_sock.close
    - m.groups
    - command.replace
    - <builtin>.isinstance
    - <builtin>.int
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.split
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.groups
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_info.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_info.rsplit
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 817
    functionName: redis.client.Monitor.listen
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - response.split
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - client_info.rsplit
    - redis.connection.Connection._host_error
    - time.monotonic
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - client_info.startswith
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - <builtin>.float
    - os.getpid
    - redis.connection.CacheProxyConnection.read_response
    - conn_sock.shutdown
    - conn_sock.close
    - m.groups
    - command.replace
    - <builtin>.isinstance
    - <builtin>.int
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.client.Monitor.next_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 375
    functionName: redis._parsers.helpers.bool_ok
    functionSourceFile: redis._parsers.helpers
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Event
    functionSourceFile: threading
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 894
    functionName: redis.client.PubSub.reset
    functionSourceFile: redis.client
    functionUses: 5
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.deregister_connect_callback
    - <builtin>.super
    - redis.connection.AbstractConnection.deregister_connect_callback
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - <builtin>.isinstance
    - weakref.WeakMethod
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 879
    functionName: redis.client.PubSub.__enter__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 882
    functionName: redis.client.PubSub.__exit__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.deregister_connect_callback
    - <builtin>.super
    - redis.connection.AbstractConnection.deregister_connect_callback
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - <builtin>.isinstance
    - weakref.WeakMethod
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - redis.client.PubSub.reset
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 885
    functionName: redis.client.PubSub.__del__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.deregister_connect_callback
    - <builtin>.super
    - redis.connection.AbstractConnection.deregister_connect_callback
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - <builtin>.isinstance
    - weakref.WeakMethod
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - redis.client.PubSub.reset
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 920
    functionName: redis.connection.AbstractConnection.deregister_connect_callback
    functionSourceFile: redis.connection
    functionUses: 7
    functionsReached:
    - weakref.WeakMethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1482
    functionName: redis.connection.CacheProxyConnection.deregister_connect_callback
    functionSourceFile: redis.connection
    functionUses: 6
    functionsReached:
    - redis.connection.AbstractConnection.deregister_connect_callback
    - weakref.WeakMethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 909
    functionName: redis.client.PubSub.close
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.deregister_connect_callback
    - <builtin>.super
    - redis.connection.AbstractConnection.deregister_connect_callback
    - redis.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - abc.ABC._event_listeners_mapping.get
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - <builtin>.isinstance
    - weakref.WeakMethod
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - redis.client.PubSub.reset
    - listener.listen
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.ConnectionPool._checkpid
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 912
    functionName: redis.client.PubSub.on_connect
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - new_patterns.keys
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.cluster.ClusterPubSub._get_node_pubsub
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - new_channels.update
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - new_channels.keys
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.cluster.RedisCluster.get_node_from_key
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - s_channels.items
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - node.redis_connection.pubsub
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - s_channels.update
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - pubsub.ssubscribe
    - redis.client.PubSub.subscribe
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.client.PubSub.psubscribe
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - new_patterns.update
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.ClusterPubSub.ssubscribe
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1126
    functionName: redis.client.PubSub.subscribe
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - new_channels.update
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - new_channels.keys
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection.send_packed_command
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - abc.ABC.__init__
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1087
    functionName: redis.client.PubSub.psubscribe
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - new_patterns.keys
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - new_patterns.update
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 938
    functionName: redis.client.PubSub.subscribed
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 942
    functionName: redis.client.PubSub.execute_command
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - <builtin>.str
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.client.PubSub.is_health_check_response
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.connection.ConnectionPool._checkpid
    - redis.client.PubSub.clean_health_check_responses
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1479
    functionName: redis.connection.CacheProxyConnection.register_connect_callback
    functionSourceFile: redis.connection
    functionUses: 583
    functionsReached:
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.register_connect_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 908
    functionName: redis.connection.AbstractConnection.register_connect_callback
    functionSourceFile: redis.connection
    functionUses: 584
    functionsReached:
    - weakref.WeakMethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 968
    functionName: redis.client.PubSub.clean_health_check_responses
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.client.PubSub.is_health_check_response
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised:
    - PubSubError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1042
    functionName: redis.client.PubSub.is_health_check_response
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 986
    functionName: redis.client.PubSub._reconnect
    functionSourceFile: redis.client
    functionUses: 16
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1507
    functionName: redis.connection.CacheProxyConnection.connect
    functionSourceFile: redis.connection
    functionUses: 589
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 942
    functionName: redis.connection.AbstractConnection.connect
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - <builtin>.getattr
    - SYM_EMPTY.join
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1663
    functionName: redis.connection.CacheProxyConnection.should_reconnect
    functionSourceFile: redis.connection
    functionUses: 603
    functionsReached:
    - redis.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1159
    functionName: redis.connection.AbstractConnection.should_reconnect
    functionSourceFile: ''
    functionUses: 604
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: -1
    functionName: redis.client.PubSub._execute.<lambda1>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.client.PubSub.parse_response.try_read
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1026
    functionName: redis.client.PubSub.parse_response.try_read
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d98bb0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1596
    functionName: redis.connection.CacheProxyConnection.can_read
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - sock.connect
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14901e80>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1218
    functionName: redis.connection.AbstractConnection.can_read
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - sock.connect
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: -1
    functionName: redis.client.PubSub._execute.<lambda2>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142bd490>
    - <ast.Constant object at 0x7f6c142bdc40>
    argNames:
    - self
    - block
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1015
    functionName: redis.client.PubSub.parse_response
    functionSourceFile: redis.client
    functionUses: 2
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.client.PubSub.is_health_check_response
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.client.PubSub.check_health
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.should_reconnect
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1065
    functionName: redis.client.PubSub.check_health
    functionSourceFile: redis.client
    functionUses: 3
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - time.monotonic
    - <builtin>.str
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.items
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_patterns.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_patterns.keys
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1113
    functionName: redis.client.PubSub.punsubscribe
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_channels.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_channels.keys
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1152
    functionName: redis.client.PubSub.unsubscribe
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - target_node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1165
    functionName: redis.client.PubSub.ssubscribe
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - new_s_channels.keys
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - num_versions1.append
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.cluster.ClusterPubSub.execute_command
    - new_s_channels.update
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_s_channels.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_s_channels.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - target_node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1191
    functionName: redis.client.PubSub.sunsubscribe
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.commands.helpers.list_or_args
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - data.items
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.client.PubSub._normalize_keys
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - dict.fromkeys
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - <builtin>.iter
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1204
    functionName: redis.client.PubSub.listen
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.client.PubSub.parse_response
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.client.PubSub.is_health_check_response
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.client.PubSub.check_health
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.client.PubSub.handle_message
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 9
    IfCount: 17
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139816a0>
    argNames:
    - self
    - response
    - ignore_subscribe_messages
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1253
    functionName: redis.client.PubSub.handle_message
    functionSourceFile: redis.client
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13568040>
    - <ast.Constant object at 0x7f6c13568b20>
    argNames:
    - self
    - ignore_subscribe_messages
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1211
    functionName: redis.client.PubSub.get_message
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.client.PubSub.parse_response
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.client.PubSub.is_health_check_response
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.client.PubSub.check_health
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.max
    - <builtin>.enumerate
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.client.PubSub.handle_message
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13058070>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 1243
    functionName: redis.client.PubSub.ping
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - redis.client.PubSub._execute
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.cluster.RedisCluster.get_random_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - collections.OrderedDict
    - sys.exc_info
    - redis.client.PubSub._reconnect
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.cache.CacheFactory.get_cache
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - abc.ABC.__init__
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterPubSub.execute_command
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.cache.CacheConfig.get_cache_class
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c135030d0>
    - <ast.Constant object at 0x7f6c135033a0>
    - <ast.Constant object at 0x7f6c13503e50>
    - <ast.Constant object at 0x7f6c13503190>
    - <ast.Constant object at 0x7f6c13503370>
    argNames:
    - self
    - sleep_time
    - daemon
    - exception_handler
    - pubsub
    - sharded_pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1328
    functionName: redis.client.PubSub.run_in_thread
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - threading.Event
    - threading.Thread.start
    - redis.client.PubSubWorkerThread.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - PubSubError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139c79d0>
    - <ast.Constant object at 0x7f6c139c7a00>
    - <ast.Constant object at 0x7f6c139c7550>
    argNames:
    - self
    - pubsub
    - sleep_time
    - daemon
    - exception_handler
    - sharded_pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1361
    functionName: redis.client.PubSubWorkerThread.__init__
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - threading.Event
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Thread.start
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1379
    functionName: redis.client.PubSubWorkerThread.run
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - pubsub.get_sharded_message
    - pubsub.close
    - pubsub.get_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubsub.get_sharded_message
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubsub.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1401
    functionName: redis.client.PubSubWorkerThread.stop
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1447
    functionName: redis.client.Pipeline.__enter__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1450
    functionName: redis.client.Pipeline.__exit__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1466
    functionName: redis.client.Pipeline.reset
    functionSourceFile: redis.client
    functionUses: 16
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1453
    functionName: redis.client.Pipeline.__del__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1459
    functionName: redis.client.Pipeline.__len__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1462
    functionName: redis.client.Pipeline.__bool__
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1494
    functionName: redis.client.Pipeline.multi
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 1538
    functionName: redis.client.Pipeline.immediate_execute_command
    functionSourceFile: redis.client
    functionUses: 551
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1559
    functionName: redis.client.Pipeline.pipeline_execute_command
    functionSourceFile: ''
    functionUses: 546
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - conn
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1512
    functionName: redis.client.Pipeline._disconnect_reset_raise_on_watching
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - WatchError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: -1
    functionName: redis.client.Pipeline.immediate_execute_command.<lambda1>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - time.monotonic
    - <builtin>.str
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.client.Pipeline.parse_response
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.client.Redis._send_command_parse_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: -1
    functionName: redis.client.Pipeline.immediate_execute_command.<lambda2>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - listener.listen
    - output.append
    - redis.client.Pipeline._disconnect_reset_raise_on_watching
    - redis.connection.ConnectionPool._checkpid
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 12
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - commands
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1574
    functionName: redis.client.Pipeline._execute_transaction
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.client.Pipeline.parse_response
    - redis.connection.CacheProxyConnection.pack_commands
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - pieces.append
    - errors.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection.pack_commands
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.client.Pipeline.annotate_exception
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - itertools.chain
    - redis.connection.CacheProxyConnection.send_packed_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - response.insert
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.utils.truncate_text
    - data.append
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.client.Pipeline.raise_first_error
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - textwrap.shorten
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - options.pop
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - WatchError
    - ResponseError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - commands
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1281
    functionName: redis.connection.AbstractConnection.pack_commands
    functionSourceFile: redis.connection
    functionUses: 4
    functionsReached:
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.HiredisRespSerializer.pack
    - SYM_EMPTY.join
    - pieces.append
    - redis.connection.PythonRespSerializer.pack
    - hiredis.pack_command
    - <builtin>.str
    - <builtin>.len
    - <builtin>.tuple
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - commands
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1647
    functionName: redis.connection.CacheProxyConnection.pack_commands
    functionSourceFile: redis.connection
    functionUses: 3
    functionsReached:
    - redis.connection.AbstractConnection.pack_commands
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.HiredisRespSerializer.pack
    - SYM_EMPTY.join
    - pieces.append
    - redis.connection.PythonRespSerializer.pack
    - hiredis.pack_command
    - <builtin>.str
    - <builtin>.len
    - <builtin>.tuple
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cdfbe0>
    argNames:
    - self
    - command
    - check_health
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1180
    functionName: redis.connection.AbstractConnection.send_packed_command
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - sock.connect
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138242b0>
    argNames:
    - self
    - command
    - check_health
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1541
    functionName: redis.connection.CacheProxyConnection.send_packed_command
    functionSourceFile: redis.connection
    functionUses: 3
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - sock.connect
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception
    - number
    - command
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1669
    functionName: redis.client.Pipeline.annotate_exception
    functionSourceFile: redis.client
    functionUses: 4
    functionsReached:
    - <builtin>.map
    - redis.utils.truncate_text
    - textwrap.shorten
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - commands
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1663
    functionName: redis.client.Pipeline.raise_first_error
    functionSourceFile: redis.client
    functionUses: 3
    functionsReached:
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.enumerate
    - redis.client.Pipeline.annotate_exception
    - textwrap.shorten
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - commands
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1646
    functionName: redis.client.Pipeline._execute_pipeline
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.client.Pipeline.parse_response
    - redis.connection.CacheProxyConnection.pack_commands
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - pieces.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection.pack_commands
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - responses.append
    - sock.shutdown
    - redis.client.Pipeline.annotate_exception
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - redis.connection.CacheProxyConnection.send_packed_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.utils.truncate_text
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.client.Pipeline.raise_first_error
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - textwrap.shorten
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - entry.connection_ref.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 1685
    functionName: redis.client.Pipeline.load_scripts
    functionSourceFile: redis.client
    functionUses: 9
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - conn
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1698
    functionName: redis.client.Pipeline._disconnect_raise_on_watching
    functionSourceFile: redis.client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised:
    - WatchError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a1f760>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1721
    functionName: redis.client.Pipeline.execute
    functionSourceFile: redis.client
    functionUses: 8
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - num_versions2.append
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - <builtin>.int
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: -1
    functionName: redis.client.Pipeline.execute.<lambda1>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.client.Pipeline.parse_response
    - redis.connection.CacheProxyConnection.pack_commands
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.client.Pipeline._execute_pipeline
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - pieces.append
    - errors.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection.pack_commands
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - responses.append
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.client.Pipeline.annotate_exception
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - itertools.chain
    - redis.connection.CacheProxyConnection.send_packed_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - conn_sock.shutdown
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - response.insert
    - <builtin>.len
    - logger.debug
    - output.append
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.client.Pipeline._execute_transaction
    - redis.utils.truncate_text
    - data.append
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.client.Pipeline.raise_first_error
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - textwrap.shorten
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - options.pop
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: -1
    functionName: redis.client.Pipeline.execute.<lambda2>
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.disconnect
    - redis.client.Pipeline._disconnect_raise_on_watching
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1750
    functionName: redis.client.Pipeline.discard
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1757
    functionName: redis.client.Pipeline.watch
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1763
    functionName: redis.client.Pipeline.unwatch
    functionSourceFile: redis.client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - num_versions2.append
    - time.monotonic
    - <builtin>.str
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.event.EventDispatcher.dispatch
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: redis.connection.HiredisRespSerializer.pack
    functionSourceFile: redis.connection
    functionUses: 643
    functionsReached:
    - output.append
    - <builtin>.isinstance
    - hiredis.pack_command
    - <builtin>.tuple
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hiredis.pack_command
    functionSourceFile: hiredis
    functionUses: 644
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output.append
    functionSourceFile: <builtin>
    functionUses: 692
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - buffer_cutoff
    - encode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: redis.connection.PythonRespSerializer.__init__
    functionSourceFile: redis.connection
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: redis.connection.PythonRespSerializer.pack
    functionSourceFile: redis.connection
    functionUses: 643
    functionsReached:
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - SYM_EMPTY.join
    - <builtin>.str
    - <builtin>.tuple
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SYM_EMPTY.join
    functionSourceFile: <builtin>
    functionUses: 691
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.ConnectionInterface
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: redis.connection.ConnectionInterface.repr_pieces
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: redis.connection.ConnectionInterface.register_connect_callback
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 176
    functionName: redis.connection.ConnectionInterface.deregister_connect_callback
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 180
    functionName: redis.connection.ConnectionInterface.set_parser
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: redis.connection.ConnectionInterface.get_protocol
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: redis.connection.ConnectionInterface.connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 192
    functionName: redis.connection.ConnectionInterface.on_connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 196
    functionName: redis.connection.ConnectionInterface.disconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 200
    functionName: redis.connection.ConnectionInterface.check_health
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12fafe20>
    argNames:
    - self
    - command
    - check_health
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 204
    functionName: redis.connection.ConnectionInterface.send_packed_command
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 208
    functionName: redis.connection.ConnectionInterface.send_command
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12faf370>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 212
    functionName: redis.connection.ConnectionInterface.can_read
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12faf880>
    argNames:
    - self
    - disable_decoding
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 216
    functionName: redis.connection.ConnectionInterface.read_response
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 226
    functionName: redis.connection.ConnectionInterface.pack_command
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - commands
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 230
    functionName: redis.connection.ConnectionInterface.pack_commands
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 235
    functionName: redis.connection.ConnectionInterface.handshake_metadata
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 239
    functionName: redis.connection.ConnectionInterface.set_re_auth_token
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 243
    functionName: redis.connection.ConnectionInterface.re_auth
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    functionName: redis.connection.ConnectionInterface.mark_for_reconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 255
    functionName: redis.connection.ConnectionInterface.should_reconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 262
    functionName: redis.connection.ConnectionInterface.reset_should_reconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13438340>
    - <ast.Attribute object at 0x7f6c13fc1790>
    - <ast.Constant object at 0x7f6c13fc19a0>
    - <ast.Constant object at 0x7f6c13fc1f40>
    - <ast.Constant object at 0x7f6c13fc1190>
    - <ast.Constant object at 0x7f6c13fc1fa0>
    - <ast.Constant object at 0x7f6c13fc1730>
    - <ast.Constant object at 0x7f6c13fc1880>
    argNames:
    - self
    - maint_notifications_config
    - maint_notifications_pool_handler
    - maintenance_state
    - maintenance_notification_hash
    - orig_host_address
    - orig_socket_timeout
    - orig_socket_connect_timeout
    - oss_cluster_maint_notifications_handler
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 279
    functionName: redis.connection.MaintNotificationsAbstractConnection.__init__
    functionSourceFile: redis.connection
    functionUses: 584
    functionsReached:
    - maint_notifications_pool_handler.get_handler_for_connection
    - parser.set_maintenance_push_handler
    - <builtin>.isinstance
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - parser.set_node_moving_push_handler
    - parser.set_oss_cluster_maint_push_handler
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140cb2b0>
    - <ast.Constant object at 0x7f6c140cbb50>
    - <ast.Constant object at 0x7f6c140cb4f0>
    - <ast.Constant object at 0x7f6c140cb850>
    - <ast.Constant object at 0x7f6c140cba00>
    - <ast.Constant object at 0x7f6c140cb400>
    argNames:
    - self
    - maint_notifications_pool_handler
    - orig_host_address
    - orig_socket_timeout
    - orig_socket_connect_timeout
    - oss_cluster_maint_notifications_handler
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 390
    functionName: redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    functionSourceFile: redis.connection
    functionUses: 585
    functionsReached:
    - maint_notifications_pool_handler.get_handler_for_connection
    - parser.set_maintenance_push_handler
    - <builtin>.isinstance
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - parser.set_node_moving_push_handler
    - parser.set_oss_cluster_maint_push_handler
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.MaintNotificationsAbstractConnection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 326
    functionName: redis.connection.MaintNotificationsAbstractConnection._get_parser
    functionSourceFile: redis.connection
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 330
    functionName: redis.connection.MaintNotificationsAbstractConnection._get_socket
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 334
    functionName: redis.connection.MaintNotificationsAbstractConnection.get_protocol
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 349
    functionName: redis.connection.MaintNotificationsAbstractConnection.host
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 359
    functionName: redis.connection.MaintNotificationsAbstractConnection.socket_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 369
    functionName: redis.connection.MaintNotificationsAbstractConnection.socket_connect_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: redis.connection.MaintNotificationsAbstractConnection.send_command
    functionSourceFile: redis.connection
    functionUses: 639
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140cb820>
    argNames:
    - self
    - disable_decoding
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 377
    functionName: redis.connection.MaintNotificationsAbstractConnection.read_response
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 387
    functionName: redis.connection.MaintNotificationsAbstractConnection.disconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: maint_notifications_pool_handler.get_handler_for_connection
    functionSourceFile: <builtin>
    functionUses: 588
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - connection
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 932
    functionName: redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    functionSourceFile: ''
    functionUses: 589
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.set_oss_cluster_maint_push_handler
    functionSourceFile: <builtin>
    functionUses: 586
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.set_node_moving_push_handler
    functionSourceFile: <builtin>
    functionUses: 586
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.set_maintenance_push_handler
    functionSourceFile: <builtin>
    functionUses: 586
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - maint_notifications_pool_handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 482
    functionName: redis.connection.MaintNotificationsAbstractConnection.set_maint_notifications_pool_handler_for_connection
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - maint_notifications_pool_handler_copy.set_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnection._get_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: maint_notifications_pool_handler_copy.set_connection
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 515
    functionName: redis.connection.MaintNotificationsAbstractConnection.set_maint_notifications_cluster_handler_for_connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnection._get_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a4f2e0>
    argNames:
    - self
    - check_health
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 541
    functionName: redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - redis.connection.Connection._host_error
    - time.monotonic
    - kwargs.get
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - maint_notifications_config.get_endpoint_type
    - redis.utils.str_if_bytes
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - socket.socket
    - SYM_EMPTY.join
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - logger.debug
    - socket.getaddrinfo
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1504
    functionName: redis.connection.CacheProxyConnection.get_protocol
    functionSourceFile: redis.connection
    functionUses: 639
    functionsReached:
    - redis.connection.AbstractConnection.get_protocol
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1383c2e0>
    argNames:
    - self
    - maint_notifications_config
    - check_health
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 560
    functionName: redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - redis.connection.Connection._host_error
    - kwargs.get
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - copy.deepcopy
    - redis.connection.AbstractConnection.reset_should_reconnect
    - maint_notifications_config.get_endpoint_type
    - redis.utils.str_if_bytes
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - socket.socket
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - ValueError
    - ResponseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: maint_notifications_config.get_endpoint_type
    functionSourceFile: <builtin>
    functionUses: 639
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 598
    functionName: redis.connection.MaintNotificationsAbstractConnection.get_resolved_ip
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.CacheProxyConnection._get_socket
    - <builtin>.isinstance
    - <builtin>.getattr
    - redis.connection.AbstractConnection._get_socket
    - <builtin>.str
    - conn_socket.getpeername
    - socket.getaddrinfo
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1706
    functionName: redis.connection.CacheProxyConnection._get_socket
    functionSourceFile: redis.connection
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - redis.connection.AbstractConnection._get_socket
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn_socket.getpeername
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.getaddrinfo
    functionSourceFile: socket
    functionUses: 643
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - state
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 654
    functionName: redis.connection.MaintNotificationsAbstractConnection.maintenance_state
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 657
    functionName: redis.connection.MaintNotificationsAbstractConnection.add_maint_start_notification
    functionSourceFile: redis.connection
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 660
    functionName: redis.connection.MaintNotificationsAbstractConnection.get_processed_start_notifications
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 663
    functionName: redis.connection.MaintNotificationsAbstractConnection.add_skipped_end_notification
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 666
    functionName: redis.connection.MaintNotificationsAbstractConnection.get_skipped_end_notifications
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 669
    functionName: redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    functionSourceFile: redis.connection
    functionUses: 665
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 673
    functionName: redis.connection.MaintNotificationsAbstractConnection.getpeername
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - redis.connection.CacheProxyConnection._get_socket
    - <builtin>.isinstance
    - conn_socket.getpeername
    - redis.connection.AbstractConnection._get_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d587f0>
    argNames:
    - self
    - relaxed_timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 682
    functionName: redis.connection.MaintNotificationsAbstractConnection.update_current_socket_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.CacheProxyConnection._get_socket
    - redis.connection.MaintNotificationsAbstractConnection._get_parser
    - <builtin>.isinstance
    - conn_socket.settimeout
    - conn_socket.gettimeout
    - redis.connection.AbstractConnection._get_socket
    - redis.connection.MaintNotificationsAbstractConnection.update_parser_timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn_socket.gettimeout
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn_socket.settimeout
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1336c5e0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 695
    functionName: redis.connection.MaintNotificationsAbstractConnection.update_parser_timeout
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - redis.connection.MaintNotificationsAbstractConnection._get_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6c1489baf0>
    - <ast.Constant object at 0x7f6c1489bf40>
    argNames:
    - self
    - tmp_host_address
    - tmp_relaxed_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 703
    functionName: redis.connection.MaintNotificationsAbstractConnection.set_tmp_settings
    functionSourceFile: redis.connection
    functionUses: 3
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1489bfd0>
    - <ast.Constant object at 0x7f6c1489bb80>
    argNames:
    - self
    - reset_host_address
    - reset_relaxed_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 717
    functionName: redis.connection.MaintNotificationsAbstractConnection.reset_tmp_settings
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.connection.AbstractConnection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    - abc.abstractmethod
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 5
    IfCount: 10
    argCount: 32
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139be430>
    - <ast.Constant object at 0x7f6c139be1c0>
    - <ast.Constant object at 0x7f6c139be460>
    - <ast.Constant object at 0x7f6c139bee20>
    - <ast.Constant object at 0x7f6c139be9a0>
    - <ast.Name object at 0x7f6c139be6d0>
    - <ast.Constant object at 0x7f6c139be5b0>
    - <ast.Constant object at 0x7f6c139bed60>
    - <ast.Constant object at 0x7f6c139be820>
    - <ast.Name object at 0x7f6c139be7f0>
    - <ast.Constant object at 0x7f6c139bedc0>
    - <ast.Constant object at 0x7f6c139be4f0>
    - <ast.Constant object at 0x7f6c139be130>
    - <ast.Constant object at 0x7f6c140f9550>
    - <ast.Constant object at 0x7f6c140f9d00>
    - <ast.Constant object at 0x7f6c140f9fd0>
    - <ast.Constant object at 0x7f6c140f97c0>
    - <ast.Constant object at 0x7f6c140f9580>
    - <ast.Constant object at 0x7f6c140f93a0>
    - <ast.Constant object at 0x7f6c140f9c10>
    - <ast.Constant object at 0x7f6c140f9b80>
    - <ast.Constant object at 0x7f6c140f9070>
    - <ast.Constant object at 0x7f6c140f9af0>
    - <ast.Constant object at 0x7f6c140f9c70>
    - <ast.Constant object at 0x7f6c140f94f0>
    - <ast.Attribute object at 0x7f6c140f9340>
    - <ast.Constant object at 0x7f6c140f9640>
    - <ast.Constant object at 0x7f6c140f9d90>
    - <ast.Constant object at 0x7f6c140f90d0>
    - <ast.Constant object at 0x7f6c140f94c0>
    - <ast.Constant object at 0x7f6c140f9b50>
    argNames:
    - self
    - db
    - password
    - socket_timeout
    - socket_connect_timeout
    - retry_on_timeout
    - retry_on_error
    - encoding
    - encoding_errors
    - decode_responses
    - parser_class
    - socket_read_size
    - health_check_interval
    - client_name
    - lib_name
    - lib_version
    - driver_info
    - username
    - retry
    - redis_connect_func
    - credential_provider
    - protocol
    - command_packer
    - event_dispatcher
    - maint_notifications_config
    - maint_notifications_pool_handler
    - maintenance_state
    - maintenance_notification_hash
    - orig_host_address
    - orig_socket_timeout
    - orig_socket_connect_timeout
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 737
    functionName: redis.connection.AbstractConnection.__init__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - redis.connection.PythonRespSerializer.__init__
    - copy.deepcopy
    - abc.ABC.__init__
    - redis.connection.AbstractConnection._construct_command_packer
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.utils.get_lib_version
    - parser.set_node_moving_push_handler
    - redis.event.EventDispatcher.register_listeners
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection.set_parser
    - <builtin>.isinstance
    - redis.event.EventDispatcher.__init__
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - <builtin>.int
    - parser.set_oss_cluster_maint_push_handler
    - parser.set_maintenance_push_handler
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.backoff.NoBackoff.__init__
    - retry_on_errors_list.append
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - DataError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getpid
    functionSourceFile: os
    functionUses: 673
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retry_on_errors_list.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 931
    functionName: redis.connection.AbstractConnection.set_parser
    functionSourceFile: ''
    functionUses: 641
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - packer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 900
    functionName: redis.connection.AbstractConnection._construct_command_packer
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - redis.connection.PythonRespSerializer.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 886
    functionName: redis.connection.AbstractConnection.__repr__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - pieces.append
    - redis.connection.AbstractConnection.repr_pieces
    - redis.connection.Connection.repr_pieces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 891
    functionName: redis.connection.AbstractConnection.repr_pieces
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1374
    functionName: redis.connection.Connection.repr_pieces
    functionSourceFile: redis.connection
    functionUses: 2
    functionsReached:
    - pieces.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 894
    functionName: redis.connection.AbstractConnection.__del__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.WeakMethod
    functionSourceFile: weakref
    functionUses: 595
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 939
    functionName: redis.connection.AbstractConnection._get_parser
    functionSourceFile: redis.connection
    functionUses: 583
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: -1
    functionName: redis.connection.AbstractConnection.connect.<lambda1>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - SYM_EMPTY.join
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.connection.AbstractConnection.connect.<lambda2>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.connection.AbstractConnection.connect_check_health.<lambda1>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.Connection._connect
    - sock.shutdown
    - sock.setsockopt
    - sock.connect
    - socket.socket
    - sock.settimeout
    - sock.close
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1380
    functionName: redis.connection.Connection._connect
    functionSourceFile: redis.connection
    functionUses: 641
    functionsReached:
    - sock.shutdown
    - sock.setsockopt
    - sock.connect
    - socket.socket
    - sock.settimeout
    - sock.close
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.connection.AbstractConnection.connect_check_health.<lambda2>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 17
    IfCount: 15
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d46af0>
    argNames:
    - self
    - check_health
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1006
    functionName: redis.connection.AbstractConnection.on_connect_check_health
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - time.monotonic
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - socket.socket
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.AbstractConnection.set_parser
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - redis.connection.AbstractConnection._ping_failed
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - logger.debug
    - socket.getaddrinfo
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - AuthenticationError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 993
    functionName: redis.connection.AbstractConnection._connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 997
    functionName: redis.connection.AbstractConnection._host_error
    functionSourceFile: redis.connection
    functionUses: 645
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1000
    functionName: redis.connection.AbstractConnection._error_message
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - redis.utils.format_error_message
    - redis.connection.Connection._host_error
    - redis.connection.AbstractConnection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1426
    functionName: redis.connection.Connection._host_error
    functionSourceFile: ''
    functionUses: 646
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1003
    functionName: redis.connection.AbstractConnection.on_connect
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - time.monotonic
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - socket.socket
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.AbstractConnection.set_parser
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - redis.connection.AbstractConnection._ping_failed
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - logger.debug
    - socket.getaddrinfo
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13438a00>
    - <ast.Constant object at 0x7f6c13438550>
    argNames:
    - self
    - username
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: redis.credentials.UsernamePasswordCredentialProvider.__init__
    functionSourceFile: ''
    functionUses: 684
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cred_provider.get_credentials
    functionSourceFile: <builtin>
    functionUses: 639
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1162
    functionName: redis.connection.AbstractConnection.reset_should_reconnect
    functionSourceFile: ''
    functionUses: 664
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn_sock.shutdown
    functionSourceFile: <builtin>
    functionUses: 663
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn_sock.close
    functionSourceFile: <builtin>
    functionUses: 663
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12f9a130>
    - <ast.Constant object at 0x7f6c12f9a7c0>
    argNames:
    - self
    - reset_host_address
    - reset_relaxed_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1762
    functionName: redis.connection.CacheProxyConnection.reset_tmp_settings
    functionSourceFile: redis.connection
    functionUses: 665
    functionsReached:
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1156
    functionName: redis.connection.AbstractConnection.mark_for_reconnect
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1165
    functionName: redis.connection.AbstractConnection._send_ping
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1171
    functionName: redis.connection.AbstractConnection._ping_failed
    functionSourceFile: redis.connection
    functionUses: 639
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - os.getpid
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1175
    functionName: redis.connection.AbstractConnection.check_health
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - <builtin>.getattr
    - SYM_EMPTY.join
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1277
    functionName: redis.connection.AbstractConnection.pack_command
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.HiredisRespSerializer.pack
    - SYM_EMPTY.join
    - hiredis.pack_command
    - redis.connection.PythonRespSerializer.pack
    - <builtin>.str
    - <builtin>.len
    - <builtin>.tuple
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pieces.append
    functionSourceFile: <builtin>
    functionUses: 93
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1311
    functionName: redis.connection.AbstractConnection.get_protocol
    functionSourceFile: redis.connection
    functionUses: 640
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1319
    functionName: redis.connection.AbstractConnection.handshake_metadata
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1322
    functionName: redis.connection.AbstractConnection.set_re_auth_token
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1325
    functionName: redis.connection.AbstractConnection.re_auth
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - typing.Protocol.decode
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1335
    functionName: redis.connection.AbstractConnection._get_socket
    functionSourceFile: redis.connection
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1343
    functionName: redis.connection.AbstractConnection.socket_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1351
    functionName: redis.connection.AbstractConnection.socket_connect_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13403610>
    - <ast.Constant object at 0x7f6c13403850>
    - <ast.Constant object at 0x7f6c13403eb0>
    - <ast.Constant object at 0x7f6c13403670>
    - <ast.Constant object at 0x7f6c13403c10>
    argNames:
    - self
    - host
    - port
    - socket_keepalive
    - socket_keepalive_options
    - socket_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1358
    functionName: redis.connection.Connection.__init__
    functionSourceFile: redis.connection
    functionUses: 582
    functionsReached:
    - <builtin>.int
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.socket
    functionSourceFile: socket
    functionUses: 645
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.setsockopt
    functionSourceFile: <builtin>
    functionUses: 689
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.connect
    functionSourceFile: <builtin>
    functionUses: 643
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.shutdown
    functionSourceFile: <builtin>
    functionUses: 643
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.close
    functionSourceFile: <builtin>
    functionUses: 644
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1434
    functionName: redis.connection.Connection.host
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - conn
    - cache
    - pool_lock
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1443
    functionName: redis.connection.CacheProxyConnection.__init__
    functionSourceFile: redis.connection
    functionUses: 582
    functionsReached:
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.AbstractConnection._get_parser
    - parser.set_maintenance_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - threading.RLock
    - <builtin>.isinstance
    - os.getpid
    - redis.connection.AbstractConnection.register_connect_callback
    - weakref.WeakMethod
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - redis.connection.CacheProxyConnection.register_connect_callback
    - parser.set_node_moving_push_handler
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - parser.set_oss_cluster_maint_push_handler
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1476
    functionName: redis.connection.CacheProxyConnection.repr_pieces
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - pieces.append
    - redis.connection.Connection.repr_pieces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1485
    functionName: redis.connection.CacheProxyConnection.set_parser
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.set_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - maint_notifications_pool_handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1488
    functionName: redis.connection.CacheProxyConnection.set_maint_notifications_pool_handler_for_connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - maint_notifications_pool_handler_copy.set_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.MaintNotificationsAbstractConnection._get_parser
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.set_maint_notifications_pool_handler_for_connection
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnection.set_maint_notifications_pool_handler_for_connection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1496
    functionName: redis.connection.CacheProxyConnection.set_maint_notifications_cluster_handler_for_connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.set_maint_notifications_cluster_handler_for_connection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1530
    functionName: redis.connection.CacheProxyConnection.on_connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - time.monotonic
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - socket.socket
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - redis.connection.AbstractConnection.on_connect
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.AbstractConnection.set_parser
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - redis.connection.AbstractConnection._ping_failed
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.connection.AbstractConnection.check_health
    - logger.debug
    - socket.getaddrinfo
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1538
    functionName: redis.connection.CacheProxyConnection.check_health
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - typing.Protocol.decode
    - kwargs.get
    - time.monotonic
    - redis.connection.Connection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - sock.connect
    - redis.utils.str_if_bytes
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - socket.socket
    - <builtin>.getattr
    - SYM_EMPTY.join
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.AbstractConnection.send_command
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1781
    functionName: redis.connection.CacheProxyConnection._process_pending_invalidations
    functionSourceFile: redis.connection
    functionUses: 638
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - sock.connect
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.connection_ref.can_read
    functionSourceFile: <builtin>
    functionUses: 639
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.connection_ref.read_response
    functionSourceFile: <builtin>
    functionUses: 639
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - cache_key
    - cache_value
    - status
    - connection_ref
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: redis.cache.CacheEntry.__init__
    functionSourceFile: ''
    functionUses: 639
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1644
    functionName: redis.connection.CacheProxyConnection.pack_command
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - output.append
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.HiredisRespSerializer.pack
    - SYM_EMPTY.join
    - hiredis.pack_command
    - redis.connection.PythonRespSerializer.pack
    - <builtin>.str
    - redis.connection.AbstractConnection.pack_command
    - <builtin>.len
    - <builtin>.tuple
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1651
    functionName: redis.connection.CacheProxyConnection.handshake_metadata
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1654
    functionName: redis.connection.CacheProxyConnection.set_re_auth_token
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.set_re_auth_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1657
    functionName: redis.connection.CacheProxyConnection.re_auth
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.cache.CacheEntry.__init__
    - redis.connection.AbstractConnection.re_auth
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - kwargs.get
    - <builtin>.str
    - time.monotonic
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - typing.Protocol.decode
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.Connection._connect
    - sock.shutdown
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - sock.connect
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - time.sleep
    - entry.connection_ref.read_response
    - os.getpid
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - socket.socket
    - <builtin>.getattr
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - redis.connection.AbstractConnection.on_connect_check_health
    - conn_sock.shutdown
    - conn_sock.close
    - sys.exc_info
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.send_command
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.connection.AbstractConnection._ping_failed
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.connect
    - <builtin>.len
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - logger.debug
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - output.append
    - redis.connection.AbstractConnection._host_error
    - redis.connection.CacheProxyConnection.send_command
    - redis.connection.AbstractConnection.read_response
    - redis.connection.AbstractConnection.send_packed_command
    - hiredis.pack_command
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1660
    functionName: redis.connection.CacheProxyConnection.mark_for_reconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.mark_for_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1666
    functionName: redis.connection.CacheProxyConnection.reset_should_reconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.reset_should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1674
    functionName: redis.connection.CacheProxyConnection.host
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1682
    functionName: redis.connection.CacheProxyConnection.socket_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1690
    functionName: redis.connection.CacheProxyConnection.socket_connect_timeout
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1701
    functionName: redis.connection.CacheProxyConnection._maint_notifications_connection_handler
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1714
    functionName: redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    functionSourceFile: redis.connection
    functionUses: 673
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - state
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1738
    functionName: redis.connection.CacheProxyConnection.maintenance_state
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1742
    functionName: redis.connection.CacheProxyConnection.getpeername
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.CacheProxyConnection._get_socket
    - redis.connection.MaintNotificationsAbstractConnection.getpeername
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.AbstractConnection._get_socket
    - conn_socket.getpeername
    - redis.connection.CacheProxyConnection.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1746
    functionName: redis.connection.CacheProxyConnection.get_resolved_ip
    functionSourceFile: redis.connection
    functionUses: 4
    functionsReached:
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.get_resolved_ip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14316850>
    argNames:
    - self
    - relaxed_timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1750
    functionName: redis.connection.CacheProxyConnection.update_current_socket_timeout
    functionSourceFile: redis.connection
    functionUses: 3
    functionsReached:
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.update_current_socket_timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14316040>
    - <ast.Constant object at 0x7f6c14316ee0>
    argNames:
    - self
    - tmp_host_address
    - tmp_relaxed_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1754
    functionName: redis.connection.CacheProxyConnection.set_tmp_settings
    functionSourceFile: redis.connection
    functionUses: 2
    functionsReached:
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.MaintNotificationsAbstractConnection.set_tmp_settings
    - <builtin>.isinstance
    - <builtin>.str
    - redis.connection.CacheProxyConnection.set_tmp_settings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1770
    functionName: redis.connection.CacheProxyConnection._connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.Connection._connect
    - sock.shutdown
    - sock.setsockopt
    - sock.connect
    - socket.socket
    - sock.settimeout
    - sock.close
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1773
    functionName: redis.connection.CacheProxyConnection._host_error
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1776
    functionName: redis.connection.CacheProxyConnection._enable_tracking_callback
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - conn.send_command
    - conn.read_response
    - conn._parser.set_invalidation_push_handler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn._parser.set_invalidation_push_handler
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1785
    functionName: redis.connection.CacheProxyConnection._on_invalidation_callback
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 18
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d86100>
    - <ast.Constant object at 0x7f6c12d86850>
    - <ast.Constant object at 0x7f6c12d869d0>
    - <ast.Constant object at 0x7f6c12d86e50>
    - <ast.Constant object at 0x7f6c12d86400>
    - <ast.Constant object at 0x7f6c12d86b50>
    - <ast.Constant object at 0x7f6c12d86f10>
    - <ast.Constant object at 0x7f6c12d86b80>
    - <ast.Constant object at 0x7f6c12d86790>
    - <ast.Constant object at 0x7f6c12d86970>
    - <ast.Constant object at 0x7f6c12d861f0>
    - <ast.Constant object at 0x7f6c12d86670>
    - <ast.Constant object at 0x7f6c12d86e80>
    - <ast.Constant object at 0x7f6c12d862e0>
    - <ast.Constant object at 0x7f6c12d86df0>
    - <ast.Constant object at 0x7f6c12d868b0>
    argNames:
    - self
    - ssl_keyfile
    - ssl_certfile
    - ssl_cert_reqs
    - ssl_include_verify_flags
    - ssl_exclude_verify_flags
    - ssl_ca_certs
    - ssl_ca_data
    - ssl_check_hostname
    - ssl_ca_path
    - ssl_password
    - ssl_validate_ocsp
    - ssl_validate_ocsp_stapled
    - ssl_ocsp_context
    - ssl_ocsp_expected_cert
    - ssl_min_version
    - ssl_ciphers
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1800
    functionName: redis.connection.SSLConnection.__init__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1881
    functionName: redis.connection.SSLConnection._connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - ssl.get_server_certificate
    - pem.encode
    - request.public_bytes
    - con.do_handshake
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - redis.ocsp.OCSPVerifier.components_from_direct_connection
    - OpenSSL.SSL.Connection
    - <builtin>.super
    - redis.ocsp.OCSPVerifier._bin2ascii
    - context.set_ciphers
    - con.connect
    - redis.ocsp.OCSPVerifier.components_from_socket
    - context.load_verify_locations
    - redis.connection.SSLConnection._wrap_socket_with_ssl
    - staple_ctx.use_privatekey_file
    - redis.ocsp.OCSPVerifier.check_certificate
    - cryptography.x509.ocsp.OCSPRequestBuilder
    - redis.ocsp._verify_response
    - base64.b64encode
    - cert.extensions.get_extension_for_oid
    - socket.socket
    - urllib.parse.urljoin
    - ssl.DER_cert_to_PEM_cert
    - cryptography.hazmat.primitives.hashes.Hash
    - context.load_cert_chain
    - staple_ctx.use_certificate_file
    - sock.close
    - path.decode
    - redis.ocsp.OCSPVerifier.is_valid
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - staple_ctx.set_ocsp_client_callback
    - issuer_cert.public_key
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - con.shutdown
    - redis.ocsp.OCSPVerifier.__init__
    - certificate.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    - orb.build
    - context.wrap_socket
    - pubkey.verify
    - redis.ocsp.OCSPVerifier.build_certificate_url
    - redis.ocsp.OCSPVerifier._certificate_components
    - orb.add_certificate
    - redis.ocsp._get_certificates
    - redis.ocsp._check_certificate
    - cryptography.hazmat.backends.default_backend
    - redis.ocsp._get_pubkey_hash
    - datetime.datetime.now
    - ssl.create_default_context
    - cryptography.x509.ocsp.load_der_ocsp_response
    - responder_cert.extensions.get_extension_for_class
    - pubkey.public_bytes
    - OpenSSL.SSL.Context
    - con.request_ocsp
    - urllib.parse.urlparse
    - cryptography.x509.load_pem_x509_certificate
    - requests.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 11
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sock
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1892
    functionName: redis.connection.SSLConnection._wrap_socket_with_ssl
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - ssl.get_server_certificate
    - pem.encode
    - request.public_bytes
    - con.do_handshake
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - redis.ocsp.OCSPVerifier.components_from_direct_connection
    - OpenSSL.SSL.Connection
    - redis.ocsp.OCSPVerifier._bin2ascii
    - context.set_ciphers
    - con.connect
    - redis.ocsp.OCSPVerifier.components_from_socket
    - context.load_verify_locations
    - staple_ctx.use_privatekey_file
    - redis.ocsp.OCSPVerifier.check_certificate
    - cryptography.x509.ocsp.OCSPRequestBuilder
    - redis.ocsp._verify_response
    - base64.b64encode
    - cert.extensions.get_extension_for_oid
    - socket.socket
    - urllib.parse.urljoin
    - ssl.DER_cert_to_PEM_cert
    - cryptography.hazmat.primitives.hashes.Hash
    - context.load_cert_chain
    - staple_ctx.use_certificate_file
    - path.decode
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - redis.ocsp.OCSPVerifier.is_valid
    - staple_ctx.set_ocsp_client_callback
    - issuer_cert.public_key
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - con.shutdown
    - redis.ocsp.OCSPVerifier.__init__
    - certificate.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    - orb.build
    - context.wrap_socket
    - pubkey.verify
    - redis.ocsp.OCSPVerifier.build_certificate_url
    - redis.ocsp.OCSPVerifier._certificate_components
    - orb.add_certificate
    - redis.ocsp._get_certificates
    - redis.ocsp._check_certificate
    - cryptography.hazmat.backends.default_backend
    - redis.ocsp._get_pubkey_hash
    - datetime.datetime.now
    - ssl.create_default_context
    - cryptography.x509.ocsp.load_der_ocsp_response
    - responder_cert.extensions.get_extension_for_class
    - pubkey.public_bytes
    - OpenSSL.SSL.Context
    - con.request_ocsp
    - urllib.parse.urlparse
    - cryptography.x509.load_pem_x509_certificate
    - requests.get
    linkageType: pythonLinkage
    raised:
    - RedisError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssl.create_default_context
    functionSourceFile: ssl
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.load_cert_chain
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.load_verify_locations
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.set_ciphers
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.wrap_socket
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: OpenSSL.SSL.Context
    functionSourceFile: OpenSSL
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: staple_ctx.use_certificate_file
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: staple_ctx.use_privatekey_file
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: staple_ctx.set_ocsp_client_callback
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: OpenSSL.SSL.Connection
    functionSourceFile: OpenSSL
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: con.request_ocsp
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: con.connect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: con.do_handshake
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: con.shutdown
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139be640>
    argNames:
    - self
    - sock
    - host
    - port
    - ca_certs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: redis.ocsp.OCSPVerifier.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 290
    functionName: redis.ocsp.OCSPVerifier.is_valid
    functionSourceFile: redis.ocsp
    functionUses: 2
    functionsReached:
    - ssl.get_server_certificate
    - request.public_bytes
    - pem.encode
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - redis.ocsp.OCSPVerifier.components_from_direct_connection
    - redis.ocsp.OCSPVerifier._bin2ascii
    - redis.ocsp.OCSPVerifier.components_from_socket
    - redis.ocsp.OCSPVerifier.check_certificate
    - cryptography.x509.ocsp.OCSPRequestBuilder
    - redis.ocsp._verify_response
    - base64.b64encode
    - cert.extensions.get_extension_for_oid
    - urllib.parse.urljoin
    - ssl.DER_cert_to_PEM_cert
    - cryptography.hazmat.primitives.hashes.Hash
    - path.decode
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - issuer_cert.public_key
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - certificate.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    - orb.build
    - pubkey.verify
    - redis.ocsp.OCSPVerifier._certificate_components
    - redis.ocsp._get_certificates
    - redis.ocsp.OCSPVerifier.build_certificate_url
    - orb.add_certificate
    - redis.ocsp._check_certificate
    - cryptography.hazmat.backends.default_backend
    - redis.ocsp._get_pubkey_hash
    - datetime.datetime.now
    - cryptography.x509.ocsp.load_der_ocsp_response
    - responder_cert.extensions.get_extension_for_class
    - pubkey.public_bytes
    - urllib.parse.urlparse
    - cryptography.x509.load_pem_x509_certificate
    - requests.get
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13d41430>
    - <ast.Constant object at 0x7f6c13d41e80>
    argNames:
    - self
    - path
    - socket_timeout
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1981
    functionName: redis.connection.UnixDomainSocketConnection.__init__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1986
    functionName: redis.connection.UnixDomainSocketConnection.repr_pieces
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - pieces.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1992
    functionName: redis.connection.UnixDomainSocketConnection._connect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - sock.shutdown
    - sock.connect
    - socket.socket
    - sock.settimeout
    - sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2009
    functionName: redis.connection.UnixDomainSocketConnection._host_error
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2016
    functionName: redis.connection.to_bool
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.isinstance
    - value.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.upper
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2024
    functionName: redis.connection.parse_ssl_verify_flags
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    - verify_flags_str.split
    - verify_flags.append
    - flag.strip
    - value.replace
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: verify_flags_str.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flag.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: verify_flags.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse.startswith
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.parse_qs
    functionSourceFile: urllib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.parse_qs.items
    functionSourceFile: urllib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote
    functionSourceFile: urllib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: URL_QUERY_ARGUMENT_PARSERS.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote.replace
    functionSourceFile: urllib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.connection.ConnectionPoolInterface
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    - abc.abstractmethod
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2116
    functionName: redis.connection.ConnectionPoolInterface.get_protocol
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2120
    functionName: redis.connection.ConnectionPoolInterface.reset
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - command_name
    - keys
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2129
    functionName: redis.connection.ConnectionPoolInterface.get_connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2135
    functionName: redis.connection.ConnectionPoolInterface.get_encoder
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2139
    functionName: redis.connection.ConnectionPoolInterface.release
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1342e3d0>
    argNames:
    - self
    - inuse_connections
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2143
    functionName: redis.connection.ConnectionPoolInterface.disconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2147
    functionName: redis.connection.ConnectionPoolInterface.close
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2151
    functionName: redis.connection.ConnectionPoolInterface.set_retry
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2155
    functionName: redis.connection.ConnectionPoolInterface.re_auth_callback
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13583b80>
    - <ast.Constant object at 0x7f6c135834f0>
    argNames:
    - self
    - maint_notifications_config
    - oss_cluster_maint_notifications_handler
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2170
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    functionSourceFile: redis.connection
    functionUses: 553
    functionsReached:
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.utils.check_protocol_version
    - threading.RLock
    - <builtin>.isinstance
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - kwargs.get
    - <builtin>.int
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1357af10>
    - <ast.Constant object at 0x7f6c1357aac0>
    argNames:
    - self
    - maint_notifications_pool_handler
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2300
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    functionSourceFile: redis.connection
    functionUses: 555
    functionsReached:
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pool
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 716
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 556
    functionsReached:
    - <builtin>.set
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2217
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.connection_kwargs
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2221
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool._get_pool_lock
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2225
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool._get_free_connections
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2229
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    functionSourceFile: redis.connection
    functionUses: 538
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2234
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    functionSourceFile: redis.connection
    functionUses: 584
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e33b50>
    argNames:
    - self
    - maint_notifications_config
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2254
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.update_maint_notifications_config
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - conn._configure_maintenance_notifications
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.connection.ConnectionPool._get_free_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_maint_notifications_configs_for_connections
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - conn.set_maint_notifications_pool_handler_for_connection
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - conn.set_maint_notifications_cluster_handler_for_connection
    - conn.disconnect
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13eade20>
    - <ast.Constant object at 0x7f6c13ead8b0>
    argNames:
    - self
    - maint_notifications_pool_handler
    - oss_cluster_maint_notifications_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2345
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool._update_maint_notifications_configs_for_connections
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - conn._configure_maintenance_notifications
    - conn.mark_for_reconnect
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.connection.ConnectionPool._get_free_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - conn.set_maint_notifications_pool_handler_for_connection
    - redis.connection.ConnectionPool._get_pool_lock
    - conn.set_maint_notifications_cluster_handler_for_connection
    - conn.disconnect
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2940
    functionName: redis.connection.ConnectionPool._get_pool_lock
    functionSourceFile: ''
    functionUses: 539
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2943
    functionName: redis.connection.ConnectionPool._get_free_connections
    functionSourceFile: ''
    functionUses: 538
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.set_maint_notifications_cluster_handler_for_connection
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.set_maint_notifications_pool_handler_for_connection
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2947
    functionName: redis.connection.ConnectionPool._get_in_use_connections
    functionSourceFile: ''
    functionUses: 538
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn._configure_maintenance_notifications
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13b3a8b0>
    - <ast.Constant object at 0x7f6c13b3a490>
    - <ast.Constant object at 0x7f6c13b3ab20>
    argNames:
    - self
    - conn
    - matching_pattern
    - matching_address
    - matching_notification_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2398
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    functionSourceFile: redis.connection
    functionUses: 537
    functionsReached:
    - conn.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.getpeername
    functionSourceFile: <builtin>
    functionUses: 538
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13236c10>
    - <ast.Constant object at 0x7f6c13236ca0>
    - <ast.Constant object at 0x7f6c13236e20>
    - <ast.Constant object at 0x7f6c13236c70>
    - <ast.Constant object at 0x7f6c13236790>
    - <ast.Constant object at 0x7f6c13236a60>
    - <ast.Constant object at 0x7f6c13236190>
    argNames:
    - self
    - conn
    - state
    - maintenance_notification_hash
    - host_address
    - relaxed_timeout
    - update_notification_hash
    - reset_host_address
    - reset_relaxed_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2424
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_settings
    functionSourceFile: redis.connection
    functionUses: 4
    functionsReached:
    - conn.set_tmp_settings
    - conn.update_current_socket_timeout
    - conn.reset_tmp_settings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.set_tmp_settings
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.reset_tmp_settings
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.update_current_socket_timeout
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13023a00>
    - <ast.Constant object at 0x7f6c13023cd0>
    - <ast.Constant object at 0x7f6c13023250>
    - <ast.Constant object at 0x7f6c13023fa0>
    - <ast.Constant object at 0x7f6c130235b0>
    - <ast.Constant object at 0x7f6c130231f0>
    - <ast.Constant object at 0x7f6c13023280>
    - <ast.Constant object at 0x7f6c13023160>
    - <ast.Constant object at 0x7f6c130238b0>
    - <ast.Constant object at 0x7f6c13023f70>
    - <ast.Constant object at 0x7f6c13023ee0>
    argNames:
    - self
    - state
    - maintenance_notification_hash
    - host_address
    - relaxed_timeout
    - matching_address
    - matching_notification_hash
    - matching_pattern
    - update_notification_hash
    - reset_host_address
    - reset_relaxed_timeout
    - include_free_connections
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2459
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.update_connections_settings
    functionSourceFile: redis.connection
    functionUses: 3
    functionsReached:
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.connection.ConnectionPool._get_free_connections
    - conn.set_tmp_settings
    - conn.reset_tmp_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - conn.update_current_socket_timeout
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.connection.ConnectionPool._get_pool_lock
    - conn.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2532
    functionName: redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_kwargs
    functionSourceFile: redis.connection
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2713
    functionName: redis.connection.ConnectionPool.__repr__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2726
    functionName: redis.connection.ConnectionPool.connection_kwargs
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2737
    functionName: redis.connection.ConnectionPool.reset
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2753
    functionName: redis.connection.ConnectionPool._checkpid
    functionSourceFile: redis.connection
    functionUses: 601
    functionsReached:
    - os.getpid
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.connection.ConnectionPool
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2851
    functionName: redis.connection.ConnectionPool.make_connection
    functionSourceFile: redis.connection
    functionUses: 579
    functionsReached:
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - <builtin>.super
    - <builtin>.dict
    - os.getpid
    - parser.set_node_moving_push_handler
    - redis.connection.Connection.__init__
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - <builtin>.isinstance
    - weakref.WeakMethod
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - <builtin>.int
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.CacheProxyConnection.__init__
    - parser.set_maintenance_push_handler
    - threading.RLock
    - redis.connection.AbstractConnection.register_connect_callback
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - MaxConnectionsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 147
    functionName: redis.event.AfterConnectionReleasedEvent.__init__
    functionSourceFile: ''
    functionUses: 636
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2891
    functionName: redis.connection.ConnectionPool.owns_connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.chain.disconnect
    functionSourceFile: itertools
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2914
    functionName: redis.connection.ConnectionPool.close
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.ConnectionPool.disconnect
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.super
    - itertools.chain.disconnect
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2925
    functionName: redis.connection.ConnectionPool.re_auth_callback
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - conn.retry.call_with_retry
    - conn.set_re_auth_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.ConnectionPool.re_auth_callback.<lambda1>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - conn.send_command
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.ConnectionPool.re_auth_callback.<lambda2>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.ConnectionPool._mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2951
    functionName: redis.connection.ConnectionPool._mock
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.ConnectionPool.re_auth_callback.<lambda3>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - conn.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.connection.ConnectionPool.re_auth_callback.<lambda4>
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.ConnectionPool._mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.set_re_auth_token
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13064b80>
    - <ast.Constant object at 0x7f6c13064070>
    - <ast.Name object at 0x7f6c13064130>
    - <ast.Name object at 0x7f6c130640a0>
    argNames:
    - self
    - max_connections
    - timeout
    - connection_class
    - queue_class
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2994
    functionName: redis.connection.BlockingConnectionPool.__init__
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3012
    functionName: redis.connection.BlockingConnectionPool.reset
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - queue.LifoQueue
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.LifoQueue
    functionSourceFile: queue
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 3047
    functionName: redis.connection.BlockingConnectionPool.make_connection
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - <builtin>.super
    - os.getpid
    - parser.set_node_moving_push_handler
    - redis.connection.Connection.__init__
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - <builtin>.isinstance
    - weakref.WeakMethod
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - <builtin>.int
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.CacheProxyConnection.__init__
    - parser.set_maintenance_push_handler
    - threading.RLock
    - redis.connection.AbstractConnection.register_connect_callback
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.connection.BlockingConnectionPool
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13167af0>
    argNames:
    - self
    - command_name
    - keys
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 3077
    functionName: redis.connection.BlockingConnectionPool.get_connection
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - parent.owns_connection
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.super
    - sock.shutdown
    - redis.connection.BlockingConnectionPool.release
    - entry.connection_ref.read_response
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - sock.setsockopt
    - <builtin>.hasattr
    - key.decode
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.connection.Connection.__init__
    - conn_sock.close
    - redis.connection.BlockingConnectionPool.make_connection
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - output.append
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - cred_provider.get_credentials
    - <builtin>.tuple
    - <builtin>.set
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 3140
    functionName: redis.connection.BlockingConnectionPool.release
    functionSourceFile: redis.connection
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection.reset_should_reconnect
    - parent.owns_connection
    - redis.connection.CacheProxyConnection.disconnect
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelConnectionPool.reset
    - <builtin>.isinstance
    - os.getpid
    - redis.connection.ConnectionPool._checkpid
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - <builtin>.super
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - conn_sock.shutdown
    - conn_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12eccf10>
    argNames:
    - self
    - inuse_connections
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3174
    functionName: redis.connection.BlockingConnectionPool.disconnect
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached:
    - connection.disconnect
    - redis.sentinel.SentinelConnectionPool.reset
    - os.getpid
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.BlockingConnectionPool._get_free_connections
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3195
    functionName: redis.connection.BlockingConnectionPool._get_free_connections
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3199
    functionName: redis.connection.BlockingConnectionPool._get_in_use_connections
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - in_maintenance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3209
    functionName: redis.connection.BlockingConnectionPool.set_in_maintenance
    functionSourceFile: redis.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.ocsp
    functionSourceFile: redis.ocsp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - issuer_cert
    - ocsp_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: redis.ocsp._verify_response
    functionSourceFile: redis.ocsp
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - pubkey.verify
    - issuer_cert.public_key
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: issuer_cert.public_key
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    functionSourceFile: cryptography
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubkey.verify
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    functionSourceFile: cryptography
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a80820>
    argNames:
    - issuer_cert
    - ocsp_bytes
    - validate
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 50
    functionName: redis.ocsp._check_certificate
    functionSourceFile: redis.ocsp
    functionUses: 5
    functionsReached:
    - redis.ocsp._get_certificates
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - redis.ocsp._verify_response
    - redis.ocsp._get_pubkey_hash
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - certificate.public_key
    - cryptography.x509.ocsp.load_der_ocsp_response
    - responder_cert.extensions.get_extension_for_class
    - pubkey.public_bytes
    - cryptography.hazmat.primitives.hashes.Hash
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - datetime.datetime.now
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    - pubkey.verify
    - issuer_cert.public_key
    linkageType: pythonLinkage
    raised:
    - AuthorizationError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.x509.ocsp.load_der_ocsp_response
    functionSourceFile: cryptography
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - certs
    - issuer_cert
    - responder_name
    - responder_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: redis.ocsp._get_certificates
    functionSourceFile: redis.ocsp
    functionUses: 6
    functionsReached:
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - cryptography.hazmat.backends.default_backend
    - redis.ocsp._get_pubkey_hash
    - certificate.public_key
    - cryptography.hazmat.primitives.hashes.Hash
    - pubkey.public_bytes
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: responder_cert.extensions.get_extension_for_class
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - certificate
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: redis.ocsp._get_pubkey_hash
    functionSourceFile: redis.ocsp
    functionUses: 7
    functionsReached:
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - cryptography.hazmat.backends.default_backend
    - certificate.public_key
    - cryptography.hazmat.primitives.hashes.Hash
    - pubkey.public_bytes
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: certificate.public_key
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pubkey.public_bytes
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA1
    functionSourceFile: cryptography
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.backends.default_backend
    functionSourceFile: cryptography
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.Hash
    functionSourceFile: cryptography
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.Hash.update
    functionSourceFile: cryptography
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.Hash.finalize
    functionSourceFile: cryptography
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134cf340>
    argNames:
    - con
    - ocsp_bytes
    - expected
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 142
    functionName: redis.ocsp.ocsp_staple_verifier
    functionSourceFile: redis.ocsp
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - redis.ocsp._verify_response
    - cryptography.hazmat.primitives.hashes.Hash
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - con.get_peer_certificate
    - issuer_cert.public_key
    - cryptography.hazmat.primitives.hashes.Hash.update
    - con.get_peer_cert_chain
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - certificate.public_key
    - c.to_cryptography
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    - pubkey.verify
    - redis.ocsp._get_certificates
    - redis.ocsp._check_certificate
    - cryptography.hazmat.backends.default_backend
    - redis.ocsp._get_pubkey_hash
    - datetime.datetime.now
    - cryptography.x509.ocsp.load_der_ocsp_response
    - responder_cert.extensions.get_extension_for_class
    - pubkey.public_bytes
    - cryptography.x509.load_pem_x509_certificate
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: con.get_peer_certificate
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: con.get_peer_cert_chain
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.to_cryptography
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.x509.load_pem_x509_certificate
    functionSourceFile: cryptography
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - der
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: redis.ocsp.OCSPVerifier._bin2ascii
    functionSourceFile: redis.ocsp
    functionUses: 5
    functionsReached:
    - ssl.DER_cert_to_PEM_cert
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.backends.default_backend
    - pem.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssl.DER_cert_to_PEM_cert
    functionSourceFile: ssl
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pem.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 191
    functionName: redis.ocsp.OCSPVerifier.components_from_socket
    functionSourceFile: redis.ocsp
    functionUses: 3
    functionsReached:
    - pem.encode
    - cryptography.hazmat.backends.default_backend
    - cert.extensions.get_extension_for_oid
    - ssl.DER_cert_to_PEM_cert
    - redis.ocsp.OCSPVerifier._bin2ascii
    - cryptography.x509.load_pem_x509_certificate
    - redis.ocsp.OCSPVerifier._certificate_components
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cert
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: redis.ocsp.OCSPVerifier._certificate_components
    functionSourceFile: redis.ocsp
    functionUses: 5
    functionsReached:
    - cert.extensions.get_extension_for_oid
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cert.extensions.get_extension_for_oid
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: redis.ocsp.OCSPVerifier.components_from_direct_connection
    functionSourceFile: redis.ocsp
    functionUses: 3
    functionsReached:
    - ssl.get_server_certificate
    - pem.encode
    - cryptography.hazmat.backends.default_backend
    - cert.extensions.get_extension_for_oid
    - cryptography.x509.load_pem_x509_certificate
    - redis.ocsp.OCSPVerifier._certificate_components
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssl.get_server_certificate
    functionSourceFile: ssl
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - server
    - cert
    - issuer_cert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: redis.ocsp.OCSPVerifier.build_certificate_url
    functionSourceFile: redis.ocsp
    functionUses: 4
    functionsReached:
    - request.public_bytes
    - cryptography.x509.ocsp.OCSPRequestBuilder
    - base64.b64encode
    - urllib.parse.urljoin
    - path.decode
    - cryptography.hazmat.primitives.hashes.SHA256
    - orb.build
    - orb.add_certificate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.x509.ocsp.OCSPRequestBuilder
    functionSourceFile: cryptography
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA256
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: orb.add_certificate
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: orb.build
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.public_bytes
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64encode
    functionSourceFile: base64
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.decode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urljoin
    functionSourceFile: urllib
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - server
    - cert
    - issuer_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 269
    functionName: redis.ocsp.OCSPVerifier.check_certificate
    functionSourceFile: redis.ocsp
    functionUses: 3
    functionsReached:
    - request.public_bytes
    - pem.encode
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - redis.ocsp.OCSPVerifier._bin2ascii
    - redis.ocsp._verify_response
    - cryptography.x509.ocsp.OCSPRequestBuilder
    - base64.b64encode
    - urllib.parse.urljoin
    - ssl.DER_cert_to_PEM_cert
    - cryptography.hazmat.primitives.hashes.Hash
    - path.decode
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    - issuer_cert.public_key
    - cryptography.hazmat.primitives.hashes.Hash.update
    - cryptography.hazmat.primitives.hashes.SHA1
    - <builtin>.isinstance
    - certificate.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.hashes.Hash.finalize
    - orb.build
    - pubkey.verify
    - redis.ocsp.OCSPVerifier.build_certificate_url
    - redis.ocsp._get_certificates
    - orb.add_certificate
    - redis.ocsp._check_certificate
    - cryptography.hazmat.backends.default_backend
    - redis.ocsp._get_pubkey_hash
    - datetime.datetime.now
    - cryptography.x509.ocsp.load_der_ocsp_response
    - responder_cert.extensions.get_extension_for_class
    - pubkey.public_bytes
    - urllib.parse.urlparse
    - cryptography.x509.load_pem_x509_certificate
    - requests.get
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: requests.get
    functionSourceFile: requests
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.cache
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: redis.cache.CacheEntry.__hash__
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: redis.cache.CacheEntry.__eq__
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cache.EvictionPolicyInterface
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: redis.cache.EvictionPolicyInterface.cache
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: redis.cache.EvictionPolicyInterface.type
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: redis.cache.EvictionPolicyInterface.evict_next
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: redis.cache.EvictionPolicyInterface.evict_many
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: redis.cache.EvictionPolicyInterface.touch
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cache.CacheConfigurationInterface
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis.cache.CacheConfigurationInterface.get_cache_class
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: redis.cache.CacheConfigurationInterface.get_max_size
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: redis.cache.CacheConfigurationInterface.get_eviction_policy
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 102
    functionName: redis.cache.CacheConfigurationInterface.is_exceeds_max_size
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: redis.cache.CacheConfigurationInterface.is_allowed_to_cache
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cache.CacheInterface
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: redis.cache.CacheInterface.collection
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 118
    functionName: redis.cache.CacheInterface.config
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: redis.cache.CacheInterface.eviction_policy
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 128
    functionName: redis.cache.CacheInterface.size
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: redis.cache.CacheInterface.get
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - entry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 136
    functionName: redis.cache.CacheInterface.set
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cache_keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 140
    functionName: redis.cache.CacheInterface.delete_by_cache_keys
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - redis_keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: redis.cache.CacheInterface.delete_by_redis_keys
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: redis.cache.CacheInterface.flush
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: redis.cache.CacheInterface.is_cachable
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cache_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: redis.cache.DefaultCache.__init__
    functionSourceFile: redis.cache
    functionUses: 554
    functionsReached:
    - redis.cache.CacheConfig.get_eviction_policy
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 400
    functionName: redis.cache.CacheConfig.get_eviction_policy
    functionSourceFile: ''
    functionUses: 555
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 167
    functionName: redis.cache.DefaultCache.collection
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 171
    functionName: redis.cache.DefaultCache.config
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 175
    functionName: redis.cache.DefaultCache.eviction_policy
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: redis.cache.DefaultCache.size
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - entry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: redis.cache.DefaultCache.set
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - redis.cache.CacheConfig.is_exceeds_max_size
    - redis.cache.CacheConfig.is_allowed_to_cache
    - redis.cache.DefaultCache.is_cachable
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: redis.cache.DefaultCache.is_cachable
    functionSourceFile: redis.cache
    functionUses: 1
    functionsReached:
    - redis.cache.CacheConfig.is_allowed_to_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: redis.cache.CacheConfig.is_exceeds_max_size
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: redis.cache.DefaultCache.get
    functionSourceFile: redis.cache
    functionUses: 1
    functionsReached:
    - collections.OrderedDict.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.get
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cache_keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 203
    functionName: redis.cache.DefaultCache.delete_by_cache_keys
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - collections.OrderedDict.get
    - redis.cache.DefaultCache.get
    - collections.OrderedDict.pop
    - response.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.pop
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - redis_keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: redis.cache.DefaultCache.delete_by_redis_keys
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - redis_key.decode
    - keys_to_delete.append
    - <builtin>.isinstance
    - redis_key.encode
    - collections.OrderedDict.pop
    - candidates.append
    - response.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_key.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: candidates.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_key.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keys_to_delete.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: redis.cache.DefaultCache.flush
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - collections.OrderedDict.clear
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.clear
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 406
    functionName: redis.cache.CacheConfig.is_allowed_to_cache
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 252
    functionName: redis.cache.LRUPolicy.__init__
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cache
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 260
    functionName: redis.cache.LRUPolicy.cache
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 264
    functionName: redis.cache.LRUPolicy.type
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 267
    functionName: redis.cache.LRUPolicy.evict_next
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - redis.cache.LRUPolicy._assert_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 293
    functionName: redis.cache.LRUPolicy._assert_cache
    functionSourceFile: redis.cache
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: redis.cache.LRUPolicy.evict_many
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - popped_keys.append
    - <builtin>.isinstance
    - redis.cache.LRUPolicy._assert_cache
    - <builtin>.len
    - <builtin>.range
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: popped_keys.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 285
    functionName: redis.cache.LRUPolicy.touch
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - redis.cache.LRUPolicy._assert_cache
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f6c14a4f880>
    - <ast.Name object at 0x7f6c14a4f3d0>
    - <ast.Name object at 0x7f6c14a4fcd0>
    argNames:
    - self
    - max_size
    - cache_class
    - eviction_policy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 384
    functionName: redis.cache.CacheConfig.__init__
    functionSourceFile: redis.cache
    functionUses: 554
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 394
    functionName: redis.cache.CacheConfig.get_cache_class
    functionSourceFile: redis.cache
    functionUses: 554
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 397
    functionName: redis.cache.CacheConfig.get_max_size
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.cache.CacheFactoryInterface
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 412
    functionName: redis.cache.CacheFactoryInterface.get_cache
    functionSourceFile: redis.cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.credentials
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: redis.credentials.CredentialProvider.get_credentials
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: redis.credentials.CredentialProvider.get_credentials_async
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached:
    - redis.credentials.UsernamePasswordCredentialProvider.get_credentials
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: redis.credentials.UsernamePasswordCredentialProvider.get_credentials
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.credentials.StreamingCredentialProvider
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: redis.credentials.StreamingCredentialProvider.on_next
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: redis.credentials.StreamingCredentialProvider.on_error
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: redis.credentials.StreamingCredentialProvider.is_streaming
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: redis.credentials.UsernamePasswordCredentialProvider.get_credentials_async
    functionSourceFile: redis.credentials
    functionUses: 0
    functionsReached:
    - redis.credentials.UsernamePasswordCredentialProvider.get_credentials
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.event
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.event.EventListenerInterface
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: redis.event.EventListenerInterface.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.event.AsyncEventListenerInterface
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: redis.event.AsyncEventListenerInterface.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.event.EventDispatcherInterface
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: redis.event.EventDispatcherInterface.dispatch
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: redis.event.EventDispatcherInterface.dispatch_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mappings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 47
    functionName: redis.event.EventDispatcherInterface.register_listeners
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exception
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: redis.event.EventException.__init__
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.__init__
    functionSourceFile: ''
    functionUses: 596
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 328
    functionName: redis.event.RegisterReAuthForPooledConnections.__init__
    functionSourceFile: ''
    functionUses: 588
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 363
    functionName: redis.event.RegisterReAuthForSingleConnection.__init__
    functionSourceFile: ''
    functionUses: 588
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 421
    functionName: redis.event.RegisterReAuthForPubSub.__init__
    functionSourceFile: ''
    functionUses: 588
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    functionSourceFile: ''
    functionUses: 588
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mappings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: redis.event.EventDispatcher.register_listeners
    functionSourceFile: redis.event
    functionUses: 588
    functionsReached:
    - <builtin>.list
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC._event_listeners_mapping.get
    functionSourceFile: abc
    functionUses: 655
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: listener.listen
    functionSourceFile: <builtin>
    functionUses: 655
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: redis.event.EventDispatcher.dispatch_async
    functionSourceFile: redis.event
    functionUses: 550
    functionsReached:
    - asyncio.Lock
    - <builtin>.type
    - listener.listen
    - abc.ABC._event_listeners_mapping.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 151
    functionName: redis.event.AfterConnectionReleasedEvent.connection
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 180
    functionName: redis.event.AfterPooledConnectionsInstantiationEvent.connection_pools
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: redis.event.AfterPooledConnectionsInstantiationEvent.client_type
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: redis.event.AfterPooledConnectionsInstantiationEvent.credential_provider
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 211
    functionName: redis.event.AfterSingleConnectionInstantiationEvent.connection
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 215
    functionName: redis.event.AfterSingleConnectionInstantiationEvent.client_type
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 219
    functionName: redis.event.AfterSingleConnectionInstantiationEvent.connection_lock
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 237
    functionName: redis.event.AfterPubSubConnectionInstantiationEvent.pubsub_connection
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: redis.event.AfterPubSubConnectionInstantiationEvent.connection_pool
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 245
    functionName: redis.event.AfterPubSubConnectionInstantiationEvent.client_type
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 249
    functionName: redis.event.AfterPubSubConnectionInstantiationEvent.connection_lock
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 270
    functionName: redis.event.AfterAsyncClusterInstantiationEvent.nodes
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 274
    functionName: redis.event.AfterAsyncClusterInstantiationEvent.credential_provider
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - commands
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 283
    functionName: redis.event.OnCommandsFailEvent.__init__
    functionSourceFile: redis.event
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 292
    functionName: redis.event.OnCommandsFailEvent.commands
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 296
    functionName: redis.event.OnCommandsFailEvent.exception
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 309
    functionName: redis.event.ReAuthConnectionListener.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - event.connection.re_auth
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.connection.re_auth
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 318
    functionName: redis.event.AsyncReAuthConnectionListener.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - event.connection.re_auth
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: redis.event.RegisterReAuthForPooledConnections.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - event.credential_provider.on_next
    - event.credential_provider.on_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.credential_provider.on_next
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.credential_provider.on_error
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: redis.event.RegisterReAuthForPooledConnections._re_auth
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - pool.re_auth_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pool.re_auth_callback
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 346
    functionName: redis.event.RegisterReAuthForPooledConnections._re_auth_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - pool.re_auth_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 350
    functionName: redis.event.RegisterReAuthForPooledConnections._raise_on_error
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 353
    functionName: redis.event.RegisterReAuthForPooledConnections._raise_on_error_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: redis.event.RegisterReAuthForSingleConnection.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - event.connection.credential_provider.on_next
    - event.connection.credential_provider.on_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.connection.credential_provider.on_next
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.connection.credential_provider.on_error
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: redis.event.RegisterReAuthForSingleConnection._re_auth
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 388
    functionName: redis.event.RegisterReAuthForSingleConnection._re_auth_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 395
    functionName: redis.event.RegisterReAuthForSingleConnection._raise_on_error
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 398
    functionName: redis.event.RegisterReAuthForSingleConnection._raise_on_error_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 406
    functionName: redis.event.RegisterReAuthForAsyncClusterNodes.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - event.credential_provider.on_next
    - event.credential_provider.on_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 412
    functionName: redis.event.RegisterReAuthForAsyncClusterNodes._re_auth
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 416
    functionName: redis.event.RegisterReAuthForAsyncClusterNodes._raise_on_error
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 428
    functionName: redis.event.RegisterReAuthForPubSub.listen
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.isinstance
    - redis.utils.check_protocol_version
    - event.pubsub_connection.get_protocol
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.pubsub_connection.get_protocol
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 447
    functionName: redis.event.RegisterReAuthForPubSub._re_auth
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 456
    functionName: redis.event.RegisterReAuthForPubSub._re_auth_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached:
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 465
    functionName: redis.event.RegisterReAuthForPubSub._raise_on_error
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 468
    functionName: redis.event.RegisterReAuthForPubSub._raise_on_error_async
    functionSourceFile: redis.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - EventException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.auth.token
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.auth.token.TokenInterface
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: redis.auth.token.TokenInterface.is_expired
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: redis.auth.token.TokenInterface.ttl
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: redis.auth.token.TokenInterface.try_get
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: redis.auth.token.TokenInterface.get_value
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: redis.auth.token.TokenInterface.get_expires_at_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: redis.auth.token.TokenInterface.get_received_at_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: redis.auth.token.TokenResponse.__init__
    functionSourceFile: redis.auth.token
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: redis.auth.token.TokenResponse.get_token
    functionSourceFile: redis.auth.token
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: redis.auth.token.TokenResponse.get_ttl_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - value
    - expires_at_ms
    - received_at_ms
    - claims
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: redis.auth.token.SimpleToken.__init__
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: redis.auth.token.SimpleToken.ttl
    functionSourceFile: redis.auth.token
    functionUses: 1
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 59
    functionName: redis.auth.token.SimpleToken.is_expired
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - redis.auth.token.SimpleToken.ttl
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 65
    functionName: redis.auth.token.SimpleToken.try_get
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.auth.token.SimpleToken.get_value
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: redis.auth.token.SimpleToken.get_expires_at_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: redis.auth.token.SimpleToken.get_received_at_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: redis.auth.token.JWToken.__init__
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - jwt.decode
    - jwt.get_unverified_header
    - redis.auth.token.JWToken._validate_token
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.get_unverified_header
    functionSourceFile: jwt
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.decode
    functionSourceFile: jwt
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: redis.auth.token.JWToken._validate_token
    functionSourceFile: redis.auth.token
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - InvalidTokenSchemaErr
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: redis.auth.token.JWToken.is_expired
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: redis.auth.token.JWToken.ttl
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 114
    functionName: redis.auth.token.JWToken.try_get
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 117
    functionName: redis.auth.token.JWToken.get_value
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: redis.auth.token.JWToken.get_expires_at_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: redis.auth.token.JWToken.get_received_at_ms
    functionSourceFile: redis.auth.token
    functionUses: 0
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.auth.err
    functionSourceFile: redis.auth.err
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: redis.auth.err.RequestTokenErr.__init__
    functionSourceFile: redis.auth.err
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.List object at 0x7f6c12dc05b0>
    argNames:
    - self
    - missing_fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: redis.auth.err.InvalidTokenSchemaErr.__init__
    functionSourceFile: redis.auth.err
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: redis.auth.err.TokenRenewalErr.__init__
    functionSourceFile: redis.auth.err
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.driver_info
    functionSourceFile: redis.driver_info
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - field_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: redis.driver_info._validate_no_invalid_chars
    functionSourceFile: redis.driver_info
    functionUses: 3
    functionsReached:
    - <builtin>.ord
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 24
    functionName: redis.driver_info._validate_driver_name
    functionSourceFile: redis.driver_info
    functionUses: 1
    functionsReached:
    - redis.driver_info._validate_no_invalid_chars
    - re.match
    - <builtin>.ord
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 47
    functionName: redis.driver_info._validate_driver_version
    functionSourceFile: redis.driver_info
    functionUses: 1
    functionsReached:
    - redis.driver_info._validate_no_invalid_chars
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - driver_name
    - driver_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: redis.driver_info._format_driver_entry
    functionSourceFile: redis.driver_info
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dataclasses.field
    functionSourceFile: dataclasses
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.driver_info.DriverInfo
    functionSourceFile: redis.driver_info
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 93
    functionName: redis.driver_info.DriverInfo.__post_init__
    functionSourceFile: redis.driver_info
    functionUses: 0
    functionsReached:
    - redis.utils.get_lib_version
    - importlib.metadata.version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: redis.driver_info.DriverInfo.upstream_drivers
    functionSourceFile: redis.driver_info
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - driver_name
    - driver_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 109
    functionName: redis.driver_info.DriverInfo.add_upstream_driver
    functionSourceFile: redis.driver_info
    functionUses: 0
    functionsReached:
    - <builtin>.ord
    - redis.driver_info._validate_driver_version
    - redis.driver_info._validate_no_invalid_chars
    - redis.driver_info._format_driver_entry
    - re.match
    - redis.driver_info._validate_driver_name
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: redis.driver_info.DriverInfo.formatted_name
    functionSourceFile: redis.driver_info
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.retry
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - backoff
    - retries
    - supported_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: redis.retry.AbstractRetry.__init__
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.retry.AbstractRetry
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: redis.retry.AbstractRetry.__eq__
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: redis.retry.AbstractRetry.__hash__
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - specified_errors
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: redis.retry.AbstractRetry.update_supported_errors
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: redis.retry.AbstractRetry.get_retries
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.retry.AbstractRetry.update_retries
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: redis.retry.Retry.__eq__
    functionSourceFile: redis.retry
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.encoders
    functionSourceFile: redis._parsers.encoders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - encoding
    - encoding_errors
    - decode_responses
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: redis._parsers.encoders.Encoder.__init__
    functionSourceFile: redis._parsers.encoders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: redis._parsers.encoders.Encoder.encode
    functionSourceFile: redis._parsers.encoders
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - value.encode
    - <builtin>.isinstance
    - <builtin>.repr
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142adc10>
    argNames:
    - self
    - value
    - force
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: redis._parsers.encoders.Encoder.decode
    functionSourceFile: redis._parsers.encoders
    functionUses: 0
    functionsReached:
    - value.tobytes
    - <builtin>.isinstance
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.tobytes
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.core
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13742c40>
    argNames:
    - self
    - category
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 77
    functionName: redis.commands.core.ACLCommands.acl_cat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 452
    functionName: redis.multidb.client.Pipeline.execute_command
    functionSourceFile: redis.multidb.client
    functionUses: 495
    functionsReached:
    - redis.multidb.client.Pipeline.pipeline_execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 481
    functionName: redis.asyncio.multidb.client.Pipeline.execute_command
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 496
    functionsReached:
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - username
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 90
    functionName: redis.commands.core.ACLCommands.acl_dryrun
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - username
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 98
    functionName: redis.commands.core.ACLCommands.acl_deluser
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137429a0>
    argNames:
    - self
    - bits
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 106
    functionName: redis.commands.core.ACLCommands.acl_genpass
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - username
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 125
    functionName: redis.commands.core.ACLCommands.acl_getuser
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 135
    functionName: redis.commands.core.ACLCommands.acl_help
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 143
    functionName: redis.commands.core.ACLCommands.acl_list
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13381e80>
    argNames:
    - self
    - count
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 151
    functionName: redis.commands.core.ACLCommands.acl_log
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.append
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 167
    functionName: redis.commands.core.ACLCommands.acl_log_reset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 177
    functionName: redis.commands.core.ACLCommands.acl_load
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 188
    functionName: redis.commands.core.ACLCommands.acl_save
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 37
    ICount: 20
    IfCount: 26
    argCount: 16
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13018370>
    - <ast.Constant object at 0x7f6c13018d00>
    - <ast.Constant object at 0x7f6c13018ca0>
    - <ast.Constant object at 0x7f6c13018910>
    - <ast.Constant object at 0x7f6c13018100>
    - <ast.Constant object at 0x7f6c13018fd0>
    - <ast.Constant object at 0x7f6c130185e0>
    - <ast.Constant object at 0x7f6c13018be0>
    - <ast.Constant object at 0x7f6c13018520>
    - <ast.Constant object at 0x7f6c13018640>
    - <ast.Constant object at 0x7f6c130187c0>
    - <ast.Constant object at 0x7f6c130182b0>
    - <ast.Constant object at 0x7f6c13018880>
    argNames:
    - self
    - username
    - enabled
    - nopass
    - passwords
    - hashed_passwords
    - categories
    - commands
    - keys
    - channels
    - selectors
    - reset
    - reset_keys
    - reset_channels
    - reset_passwords
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 199
    functionName: redis.commands.core.ACLCommands.acl_setuser
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.asyncio.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - hashed_password.startswith
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.cluster.RedisCluster.get_encoder
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - key.startswith
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - category.startswith
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - redis.connection.ConnectionPool.get_encoder
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - cmd.startswith
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - password.startswith
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.asyncio.cluster.RedisCluster.get_encoder
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 442
    functionName: redis.asyncio.client.Redis.get_encoder
    functionSourceFile: redis.asyncio.client
    functionUses: 18
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: password.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashed_password.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: category.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 390
    functionName: redis.commands.core.ACLCommands.acl_users
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 397
    functionName: redis.commands.core.ACLCommands.acl_whoami
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e5fbe0>
    argNames:
    - self
    - password
    - username
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 418
    functionName: redis.commands.core.ManagementCommands.auth
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 431
    functionName: redis.commands.core.ManagementCommands.bgrewriteaof
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13386580>
    argNames:
    - self
    - schedule
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 438
    functionName: redis.commands.core.ManagementCommands.bgsave
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 450
    functionName: redis.commands.core.ManagementCommands.role
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - address
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 460
    functionName: redis.commands.core.ManagementCommands.client_kill
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 9
    IfCount: 11
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134327f0>
    - <ast.Constant object at 0x7f6c13432940>
    - <ast.Constant object at 0x7f6c13432580>
    - <ast.Constant object at 0x7f6c13432d30>
    - <ast.Constant object at 0x7f6c13432df0>
    - <ast.Constant object at 0x7f6c134329a0>
    - <ast.Constant object at 0x7f6c13432ac0>
    argNames:
    - self
    - _id
    - _type
    - addr
    - skipme
    - laddr
    - user
    - maxage
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 467
    functionName: redis.commands.core.ManagementCommands.client_kill_filter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - old.pop
    - socket.gethostbyname
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - args.extend
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.extend
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 521
    functionName: redis.commands.core.ManagementCommands.client_info
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c130330d0>
    - <ast.List object at 0x7f6c13033070>
    argNames:
    - self
    - _type
    - client_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 530
    functionName: redis.commands.core.ManagementCommands.client_list
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - old.pop
    - socket.gethostbyname
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 557
    functionName: redis.commands.core.ManagementCommands.client_getname
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 565
    functionName: redis.commands.core.ManagementCommands.client_getredir
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - reply
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 574
    functionName: redis.commands.core.ManagementCommands.client_reply
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 598
    functionName: redis.commands.core.ManagementCommands.client_id
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c135541c0>
    - <ast.List object at 0x7f6c13554700>
    - <ast.Constant object at 0x7f6c13554d60>
    - <ast.Constant object at 0x7f6c135547c0>
    - <ast.Constant object at 0x7f6c13554550>
    - <ast.Constant object at 0x7f6c13554280>
    argNames:
    - self
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 606
    functionName: redis.commands.core.ManagementCommands.client_tracking_on
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.commands.core.ManagementCommands.client_tracking
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14073fd0>
    - <ast.List object at 0x7f6c14073370>
    - <ast.Constant object at 0x7f6c14073fa0>
    - <ast.Constant object at 0x7f6c14073a60>
    - <ast.Constant object at 0x7f6c14073d00>
    - <ast.Constant object at 0x7f6c140738b0>
    argNames:
    - self
    - clientid
    - prefix
    - bcast
    - optin
    - optout
    - noloop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 625
    functionName: redis.commands.core.ManagementCommands.client_tracking_off
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.commands.core.ManagementCommands.client_tracking
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pieces.extend
    functionSourceFile: <builtin>
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 704
    functionName: redis.commands.core.ManagementCommands.client_trackinginfo
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 713
    functionName: redis.commands.core.ManagementCommands.client_setname
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - attr
    - value
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 727
    functionName: redis.commands.core.ManagementCommands.client_setinfo
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4bdc0>
    argNames:
    - self
    - client_id
    - error
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 734
    functionName: redis.commands.core.ManagementCommands.client_unblock
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4b220>
    argNames:
    - self
    - timeout
    - all
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 750
    functionName: redis.commands.core.ManagementCommands.client_pause
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - old.pop
    - socket.gethostbyname
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 778
    functionName: redis.commands.core.ManagementCommands.client_unpause
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 786
    functionName: redis.commands.core.ManagementCommands.client_no_evict
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 794
    functionName: redis.commands.core.ManagementCommands.client_no_touch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 805
    functionName: redis.commands.core.ManagementCommands.command
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 813
    functionName: redis.commands.core.ManagementCommands.command_info
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 818
    functionName: redis.commands.core.ManagementCommands.command_count
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b3820>
    - <ast.Constant object at 0x7f6c143b3490>
    - <ast.Constant object at 0x7f6c143b3370>
    argNames:
    - self
    - module
    - category
    - pattern
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 821
    functionName: redis.commands.core.ManagementCommands.command_list
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - pieces.insert
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pieces.insert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 849
    functionName: redis.commands.core.ManagementCommands.command_getkeysandflags
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 857
    functionName: redis.commands.core.ManagementCommands.command_docs
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149df430>
    argNames:
    - self
    - pattern
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 866
    functionName: redis.commands.core.ManagementCommands.config_get
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 876
    functionName: redis.commands.core.ManagementCommands.config_set
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 889
    functionName: redis.commands.core.ManagementCommands.config_resetstat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 897
    functionName: redis.commands.core.ManagementCommands.config_rewrite
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 905
    functionName: redis.commands.core.ManagementCommands.dbsize
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 913
    functionName: redis.commands.core.ManagementCommands.debug_object
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 921
    functionName: redis.commands.core.ManagementCommands.debug_segfault
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 930
    functionName: redis.commands.core.ManagementCommands.echo
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13395520>
    argNames:
    - self
    - asynchronous
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 938
    functionName: redis.commands.core.ManagementCommands.flushall
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c133957f0>
    argNames:
    - self
    - asynchronous
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 952
    functionName: redis.commands.core.ManagementCommands.flushdb
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 966
    functionName: redis.commands.core.ManagementCommands.sync
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - replicationid
    - offset
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 978
    functionName: redis.commands.core.ManagementCommands.psync
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - first
    - second
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 991
    functionName: redis.commands.core.ManagementCommands.swapdb
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - index
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 999
    functionName: redis.commands.core.ManagementCommands.select
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c133d3ee0>
    argNames:
    - self
    - section
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1006
    functionName: redis.commands.core.ManagementCommands.info
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1023
    functionName: redis.commands.core.ManagementCommands.lastsave
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1032
    functionName: redis.commands.core.ManagementCommands.latency_doctor
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1046
    functionName: redis.commands.core.ManagementCommands.latency_graph
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - version_numbers
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1060
    functionName: redis.commands.core.ManagementCommands.lolwut
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1071
    functionName: redis.commands.core.ManagementCommands.reset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140aaf10>
    - <ast.Constant object at 0x7f6c140aa2e0>
    - <ast.Constant object at 0x7f6c140aab50>
    argNames:
    - self
    - host
    - port
    - keys
    - destination_db
    - timeout
    - copy
    - replace
    - auth
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1078
    functionName: redis.commands.core.ManagementCommands.migrate
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - infotype
    - key
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1126
    functionName: redis.commands.core.ManagementCommands.object
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1134
    functionName: redis.commands.core.ManagementCommands.memory_doctor
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1143
    functionName: redis.commands.core.ManagementCommands.memory_help
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1152
    functionName: redis.commands.core.ManagementCommands.memory_stats
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1160
    functionName: redis.commands.core.ManagementCommands.memory_malloc_stats
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13568880>
    argNames:
    - self
    - key
    - samples
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1168
    functionName: redis.commands.core.ManagementCommands.memory_usage
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - args.extend
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1186
    functionName: redis.commands.core.ManagementCommands.memory_purge
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1194
    functionName: redis.commands.core.ManagementCommands.latency_histogram
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1203
    functionName: redis.commands.core.ManagementCommands.latency_history
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1211
    functionName: redis.commands.core.ManagementCommands.latency_latest
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - events
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1219
    functionName: redis.commands.core.ManagementCommands.latency_reset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1227
    functionName: redis.commands.core.ManagementCommands.ping
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1242
    functionName: redis.commands.core.ManagementCommands.quit
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1250
    functionName: redis.commands.core.ManagementCommands.replicaof
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1263
    functionName: redis.commands.core.ManagementCommands.save
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13058880>
    - <ast.Constant object at 0x7f6c130584f0>
    - <ast.Constant object at 0x7f6c13058430>
    - <ast.Constant object at 0x7f6c13058370>
    - <ast.Constant object at 0x7f6c130581c0>
    argNames:
    - self
    - save
    - nosave
    - now
    - force
    - abort
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1272
    functionName: redis.commands.core.ManagementCommands.shutdown
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - RedisError
    - DataError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139816a0>
    - <ast.Constant object at 0x7f6c13981310>
    argNames:
    - self
    - host
    - port
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1314
    functionName: redis.commands.core.ManagementCommands.slaveof
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14028280>
    argNames:
    - self
    - num
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1328
    functionName: redis.commands.core.ManagementCommands.slowlog_get
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.cluster.RedisCluster.get_connection_kwargs
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - redis.asyncio.client.Redis.get_connection_kwargs
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - redis.asyncio.cluster.RedisCluster.get_connection_kwargs
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - redis.client.Redis.get_connection_kwargs
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 446
    functionName: redis.asyncio.client.Redis.get_connection_kwargs
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1345
    functionName: redis.commands.core.ManagementCommands.slowlog_len
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1353
    functionName: redis.commands.core.ManagementCommands.slowlog_reset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1361
    functionName: redis.commands.core.ManagementCommands.time
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - num_replicas
    - timeout
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1370
    functionName: redis.commands.core.ManagementCommands.wait
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - num_local
    - num_replicas
    - timeout
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1381
    functionName: redis.commands.core.ManagementCommands.waitaof
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1396
    functionName: redis.commands.core.ManagementCommands.hello
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1405
    functionName: redis.commands.core.ManagementCommands.failover
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 9
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136d8220>
    - <ast.Constant object at 0x7f6c136d8730>
    - <ast.Constant object at 0x7f6c136d8ac0>
    - <ast.Constant object at 0x7f6c136d8640>
    argNames:
    - self
    - metrics
    - count
    - duration
    - sample_ratio
    - slots
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1414
    functionName: redis.commands.core.ManagementCommands.hotkeys_start
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - args.extend
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1462
    functionName: redis.commands.core.ManagementCommands.hotkeys_stop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1473
    functionName: redis.commands.core.ManagementCommands.hotkeys_reset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1484
    functionName: redis.commands.core.ManagementCommands.hotkeys_get
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1504
    functionName: redis.commands.core.AsyncManagementCommands.command_info
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1507
    functionName: redis.commands.core.AsyncManagementCommands.debug_segfault
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1510
    functionName: redis.commands.core.AsyncManagementCommands.memory_doctor
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1513
    functionName: redis.commands.core.AsyncManagementCommands.memory_help
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136d28e0>
    - <ast.Constant object at 0x7f6c136d23a0>
    - <ast.Constant object at 0x7f6c136d2d60>
    - <ast.Constant object at 0x7f6c136d2f10>
    - <ast.Constant object at 0x7f6c136d2310>
    argNames:
    - self
    - save
    - nosave
    - now
    - force
    - abort
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1516
    functionName: redis.commands.core.AsyncManagementCommands.shutdown
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - target_node.update_active_connections_for_reconnect
    - old.keys
    - redis.asyncio.connection.AbstractConnection.connect
    - threading.Lock
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - redis.event.EventDispatcher.register_listeners
    - redis.asyncio.cluster.NodesManager.initialize
    - asyncio.get_running_loop
    - slot_nodes.remove
    - response.get
    - redis.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - asyncio.create_task
    - slot_nodes.append
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - <builtin>.zip
    - redis.asyncio.client.Pipeline.execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.event.RegisterReAuthForPubSub.__init__
    - command_name.split
    - <builtin>.super
    - slots.pop
    - args.append
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - removed_node.update_active_connections_for_reconnect
    - kwargs.pop
    - redis.asyncio.cluster.NodesManager.set_nodes
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - typing.cast.retry.call_with_retry
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - new.items
    - redis.asyncio.cluster.NodesManager.get_node
    - binascii.crc_hqx
    - redis.asyncio.cluster.RedisCluster.keyslot
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - <builtin>.range
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - asyncio.sleep
    - redis.cluster.LoadBalancer._get_round_robin_index
    - existing_node.update_active_connections_for_reconnect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - command.upper
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._send_ping
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - redis.asyncio.cluster.NodesManager.aclose
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - removed_node.disconnect_free_connections
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.event.EventDispatcher.__init__
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - <builtin>.len
    - listener.listen
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - random.randrange
    - target_node.execute_command
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - command.lower
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.cluster.RedisCluster.execute_command
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - key.find
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - connection_kwargs.pop
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - conn.retry.call_with_retry
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.asyncio.connection.Connection._connection_arguments
    - tmp_nodes_cache.get
    - asyncio.gather
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.cluster.LoadBalancer.get_server_index
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - RedisError
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14198100>
    argNames:
    - self
    - client
    - key
    - default_overflow
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1559
    functionName: redis.commands.core.BitFieldOperation.__init__
    functionSourceFile: redis.commands.core
    functionUses: 1
    functionsReached:
    - overflow.upper
    - redis.commands.core.BitFieldOperation.reset
    - redis.commands.core.BitFieldOperation.overflow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1573
    functionName: redis.commands.core.BitFieldOperation.reset
    functionSourceFile: redis.commands.core
    functionUses: 3
    functionsReached:
    - redis.commands.core.BitFieldOperation.overflow
    - overflow.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - overflow
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1581
    functionName: redis.commands.core.BitFieldOperation.overflow
    functionSourceFile: redis.commands.core
    functionUses: 5
    functionsReached:
    - overflow.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: overflow.upper
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136f0760>
    argNames:
    - self
    - fmt
    - offset
    - increment
    - overflow
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1594
    functionName: redis.commands.core.BitFieldOperation.incrby
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.commands.core.BitFieldOperation.overflow
    - overflow.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fmt
    - offset
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1620
    functionName: redis.commands.core.BitFieldOperation.get
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - fmt
    - offset
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1633
    functionName: redis.commands.core.BitFieldOperation.set
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1648
    functionName: redis.commands.core.BitFieldOperation.command
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - cmd.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd.extend
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1654
    functionName: redis.commands.core.BitFieldOperation.execute
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - redis.commands.core.BitFieldOperation.overflow
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - overflow.upper
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.commands.core.BitFieldOperation.reset
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1681
    functionName: redis.commands.core.BasicKeyCommands.append
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12da5280>
    - <ast.Constant object at 0x7f6c12da57f0>
    - <ast.Constant object at 0x7f6c12da59d0>
    argNames:
    - self
    - key
    - start
    - end
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1691
    functionName: redis.commands.core.BasicKeyCommands.bitcount
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.append
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1307f520>
    argNames:
    - self
    - key
    - default_overflow
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1714
    functionName: redis.commands.core.BasicKeyCommands.bitfield
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - overflow.upper
    - redis.commands.core.BitFieldOperation.__init__
    - redis.commands.core.BitFieldOperation.reset
    - redis.commands.core.BitFieldOperation.overflow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1307f610>
    argNames:
    - self
    - key
    - encoding
    - offset
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1727
    functionName: redis.commands.core.BasicKeyCommands.bitfield_ro
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.extend
    functionSourceFile: <builtin>
    functionUses: 41
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - operation
    - dest
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1750
    functionName: redis.commands.core.BasicKeyCommands.bitop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a1f400>
    - <ast.Constant object at 0x7f6c13a1f430>
    - <ast.Constant object at 0x7f6c13a1f550>
    argNames:
    - self
    - key
    - bit
    - start
    - end
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1759
    functionName: redis.commands.core.BasicKeyCommands.bitpos
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1396e220>
    - <ast.Constant object at 0x7f6c1396ef10>
    argNames:
    - self
    - source
    - destination
    - destination_db
    - replace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1790
    functionName: redis.commands.core.BasicKeyCommands.copy
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136790d0>
    argNames:
    - self
    - name
    - amount
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1816
    functionName: redis.commands.core.BasicKeyCommands.decrby
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1827
    functionName: redis.commands.core.BasicKeyCommands.delete
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1833
    functionName: redis.commands.core.BasicKeyCommands.__delitem__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - typing.Protocol._execution_strategy.delete
    - redis.cluster.ClusterPipeline.delete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.core.BasicKeyCommands
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.utils.experimental_args.decorator
    - redis.utils.experimental_args
    - redis.utils.experimental_method
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.experimental_method.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13983040>
    - <ast.Constant object at 0x7f6c13983550>
    - <ast.Constant object at 0x7f6c13983730>
    - <ast.Constant object at 0x7f6c13983d60>
    argNames:
    - self
    - name
    - ifeq
    - ifne
    - ifdeq
    - ifdne
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1837
    functionName: redis.commands.core.BasicKeyCommands.delex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1887
    functionName: redis.commands.core.BasicKeyCommands.dump
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1900
    functionName: redis.commands.core.BasicKeyCommands.exists
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143555e0>
    - <ast.Constant object at 0x7f6c14355ca0>
    - <ast.Constant object at 0x7f6c14355820>
    - <ast.Constant object at 0x7f6c143551c0>
    argNames:
    - self
    - name
    - time
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1910
    functionName: redis.commands.core.BasicKeyCommands.expire
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - exp_option.append
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - time.total_seconds
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.total_seconds
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exp_option.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1398cf70>
    - <ast.Constant object at 0x7f6c1398cf40>
    - <ast.Constant object at 0x7f6c1398c6a0>
    - <ast.Constant object at 0x7f6c1398c130>
    argNames:
    - self
    - name
    - when
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1947
    functionName: redis.commands.core.BasicKeyCommands.expireat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - when.timestamp
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - exp_option.append
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: when.timestamp
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1984
    functionName: redis.commands.core.BasicKeyCommands.expiretime
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1994
    functionName: redis.commands.core.BasicKeyCommands.digest_local
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - xxhash.xxh3_64
    - redis.cluster.RedisCluster.get_encoder
    - typing.Protocol.get_encoder
    - redis.asyncio.client.Redis.get_encoder
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    - kwargs.get
    - redis.client.Redis.get_encoder
    - redis.connection.ConnectionPool.get_encoder
    - local_digest.encode
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xxhash.xxh3_64
    functionSourceFile: xxhash
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol.get_encoder
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local_digest.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2032
    functionName: redis.commands.core.BasicKeyCommands.digest
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2065
    functionName: redis.commands.core.BasicKeyCommands.getdel
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137b16a0>
    - <ast.Constant object at 0x7f6c137b1610>
    - <ast.Constant object at 0x7f6c137b14f0>
    - <ast.Constant object at 0x7f6c137b1460>
    - <ast.Constant object at 0x7f6c137b1ee0>
    argNames:
    - self
    - name
    - ex
    - px
    - exat
    - pxat
    - persist
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2076
    functionName: redis.commands.core.BasicKeyCommands.getex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - ex.total_seconds
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: redis.commands.helpers.at_most_one_value_set
    functionSourceFile: redis.commands.helpers
    functionUses: 12
    functionsReached:
    - <builtin>.bool
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 2118
    functionName: redis.commands.core.BasicKeyCommands.__getitem__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.commands.core.BasicKeyCommands.get
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - offset
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2128
    functionName: redis.commands.core.BasicKeyCommands.getbit
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2136
    functionName: redis.commands.core.BasicKeyCommands.getrange
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2145
    functionName: redis.commands.core.BasicKeyCommands.getset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d8e400>
    argNames:
    - self
    - name
    - amount
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2157
    functionName: redis.commands.core.BasicKeyCommands.incrby
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13085700>
    argNames:
    - self
    - name
    - amount
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2168
    functionName: redis.commands.core.BasicKeyCommands.incrbyfloat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13085fd0>
    argNames:
    - self
    - pattern
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2177
    functionName: redis.commands.core.BasicKeyCommands.keys
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140b8b20>
    - <ast.Constant object at 0x7f6c140b8a60>
    argNames:
    - self
    - first_list
    - second_list
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2185
    functionName: redis.commands.core.BasicKeyCommands.lmove
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140b8910>
    - <ast.Constant object at 0x7f6c140b89d0>
    argNames:
    - self
    - first_list
    - second_list
    - timeout
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2198
    functionName: redis.commands.core.BasicKeyCommands.blmove
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2214
    functionName: redis.commands.core.BasicKeyCommands.mget
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2233
    functionName: redis.commands.core.BasicKeyCommands.mset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - items.extend
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: items.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13dcc160>
    - <ast.Constant object at 0x7f6c13dcc8e0>
    - <ast.Constant object at 0x7f6c13dccc10>
    - <ast.Constant object at 0x7f6c13dccf10>
    - <ast.Constant object at 0x7f6c13dcc640>
    - <ast.Constant object at 0x7f6c13dcc5b0>
    argNames:
    - self
    - mapping
    - data_persist_option
    - ex
    - px
    - exat
    - pxat
    - keepttl
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2250
    functionName: redis.commands.core.BasicKeyCommands.msetex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2315
    functionName: redis.commands.core.BasicKeyCommands.msetnx
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - items.extend
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - db
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2333
    functionName: redis.commands.core.BasicKeyCommands.move
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2341
    functionName: redis.commands.core.BasicKeyCommands.persist
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141e9190>
    - <ast.Constant object at 0x7f6c141e93d0>
    - <ast.Constant object at 0x7f6c141e9490>
    - <ast.Constant object at 0x7f6c141e92e0>
    argNames:
    - self
    - name
    - time
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2349
    functionName: redis.commands.core.BasicKeyCommands.pexpire
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - exp_option.append
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - time.total_seconds
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1425fd60>
    - <ast.Constant object at 0x7f6c1425f190>
    - <ast.Constant object at 0x7f6c1425ff10>
    - <ast.Constant object at 0x7f6c1425f550>
    argNames:
    - self
    - name
    - when
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2385
    functionName: redis.commands.core.BasicKeyCommands.pexpireat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - when.timestamp
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - exp_option.append
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2420
    functionName: redis.commands.core.BasicKeyCommands.pexpiretime
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - time_ms
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2429
    functionName: redis.commands.core.BasicKeyCommands.psetex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - time_ms.total_seconds
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time_ms.total_seconds
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2441
    functionName: redis.commands.core.BasicKeyCommands.pttl
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c5ad30>
    - <ast.Constant object at 0x7f6c13c5a340>
    argNames:
    - self
    - key
    - count
    - withvalues
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2449
    functionName: redis.commands.core.BasicKeyCommands.hrandfield
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2473
    functionName: redis.commands.core.BasicKeyCommands.randomkey
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2481
    functionName: redis.commands.core.BasicKeyCommands.rename
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2489
    functionName: redis.commands.core.BasicKeyCommands.renamenx
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13241fa0>
    - <ast.Constant object at 0x7f6c13241670>
    - <ast.Constant object at 0x7f6c132413a0>
    - <ast.Constant object at 0x7f6c13241310>
    argNames:
    - self
    - name
    - ttl
    - value
    - replace
    - absttl
    - idletime
    - frequency
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2497
    functionName: redis.commands.core.BasicKeyCommands.restore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 2660
    functionName: redis.commands.core.BasicKeyCommands.__setitem__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - offset
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2663
    functionName: redis.commands.core.BasicKeyCommands.setbit
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - time
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2673
    functionName: redis.commands.core.BasicKeyCommands.setex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - time.total_seconds
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2685
    functionName: redis.commands.core.BasicKeyCommands.setnx
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - offset
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2693
    functionName: redis.commands.core.BasicKeyCommands.setrange
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142b2400>
    - <ast.Constant object at 0x7f6c143b5790>
    - <ast.Constant object at 0x7f6c143b5130>
    - <ast.Constant object at 0x7f6c143b5cd0>
    - <ast.Constant object at 0x7f6c143b5d30>
    argNames:
    - self
    - algo
    - value1
    - value2
    - specific_argument
    - len
    - idx
    - minmatchlen
    - withmatchlen
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2708
    functionName: redis.commands.core.BasicKeyCommands.stralgo
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - specific_argument.upper
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: specific_argument.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2772
    functionName: redis.commands.core.BasicKeyCommands.strlen
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6c13387880>
    argNames:
    - self
    - name
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2780
    functionName: redis.commands.core.BasicKeyCommands.substr
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2787
    functionName: redis.commands.core.BasicKeyCommands.touch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2796
    functionName: redis.commands.core.BasicKeyCommands.ttl
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2804
    functionName: redis.commands.core.BasicKeyCommands.type
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2812
    functionName: redis.commands.core.BasicKeyCommands.watch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.DeprecationWarning
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2820
    functionName: redis.commands.core.BasicKeyCommands.unwatch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.DeprecationWarning
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2828
    functionName: redis.commands.core.BasicKeyCommands.unlink
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138bce50>
    - <ast.Constant object at 0x7f6c138bc430>
    - <ast.Constant object at 0x7f6c138bc1f0>
    - <ast.Constant object at 0x7f6c138bc790>
    argNames:
    - self
    - key1
    - key2
    - len
    - idx
    - minmatchlen
    - withmatchlen
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2836
    functionName: redis.commands.core.BasicKeyCommands.lcs
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2867
    functionName: redis.commands.core.AsyncBasicKeyCommands.__delitem__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2870
    functionName: redis.commands.core.AsyncBasicKeyCommands.__contains__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2873
    functionName: redis.commands.core.AsyncBasicKeyCommands.__getitem__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2876
    functionName: redis.commands.core.AsyncBasicKeyCommands.__setitem__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2879
    functionName: redis.commands.core.AsyncBasicKeyCommands.watch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2882
    functionName: redis.commands.core.AsyncBasicKeyCommands.unwatch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cec3a0>
    argNames:
    - self
    - keys
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2892
    functionName: redis.commands.core.ListCommands.blpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - keys.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keys.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137d7400>
    argNames:
    - self
    - keys
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2913
    functionName: redis.commands.core.ListCommands.brpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - keys.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1340f2e0>
    argNames:
    - self
    - src
    - dst
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2934
    functionName: redis.commands.core.ListCommands.brpoplpush
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - timeout
    - numkeys
    - args
    - direction
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2951
    functionName: redis.commands.core.ListCommands.blmpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - num_keys
    - args
    - direction
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2972
    functionName: redis.commands.core.ListCommands.lmpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - cmd_args.extend
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd_args.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 2991
    functionName: redis.commands.core.ListCommands.lindex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - where
    - refvalue
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3004
    functionName: redis.commands.core.ListCommands.linsert
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3018
    functionName: redis.commands.core.ListCommands.llen
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13d6d490>
    argNames:
    - self
    - name
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3026
    functionName: redis.commands.core.ListCommands.lpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3045
    functionName: redis.commands.core.ListCommands.lpush
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3053
    functionName: redis.commands.core.ListCommands.lpushx
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3061
    functionName: redis.commands.core.ListCommands.lrange
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - count
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3073
    functionName: redis.commands.core.ListCommands.lrem
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - index
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3087
    functionName: redis.commands.core.ListCommands.lset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3095
    functionName: redis.commands.core.ListCommands.ltrim
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13d7a0d0>
    argNames:
    - self
    - name
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3107
    functionName: redis.commands.core.ListCommands.rpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3126
    functionName: redis.commands.core.ListCommands.rpoplpush
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3135
    functionName: redis.commands.core.ListCommands.rpush
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3143
    functionName: redis.commands.core.ListCommands.rpushx
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140c6cd0>
    - <ast.Constant object at 0x7f6c140c65e0>
    - <ast.Constant object at 0x7f6c140c6640>
    argNames:
    - self
    - name
    - value
    - rank
    - count
    - maxlen
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3151
    functionName: redis.commands.core.ListCommands.lpos
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 8
    IfCount: 10
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14253a60>
    - <ast.Constant object at 0x7f6c14253e20>
    - <ast.Constant object at 0x7f6c14253880>
    - <ast.Constant object at 0x7f6c14253ee0>
    - <ast.Constant object at 0x7f6c14253eb0>
    - <ast.Constant object at 0x7f6c142536d0>
    - <ast.Constant object at 0x7f6c14253430>
    - <ast.Constant object at 0x7f6c14253160>
    argNames:
    - self
    - name
    - start
    - num
    - by
    - get
    - desc
    - alpha
    - store
    - groups
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3196
    functionName: redis.commands.core.ListCommands.sort
    functionSourceFile: redis.commands.core
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12ecc580>
    - <ast.Constant object at 0x7f6c12ecc490>
    - <ast.Constant object at 0x7f6c12eccc70>
    - <ast.Constant object at 0x7f6c12ecca90>
    - <ast.Constant object at 0x7f6c12ecc6a0>
    - <ast.Constant object at 0x7f6c12ecceb0>
    argNames:
    - self
    - key
    - start
    - num
    - by
    - get
    - desc
    - alpha
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3269
    functionName: redis.commands.core.ListCommands.sort_ro
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.commands.core.ListCommands.sort
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13167100>
    - <ast.Constant object at 0x7f6c13167340>
    - <ast.Constant object at 0x7f6c13167070>
    argNames:
    - self
    - match
    - count
    - _type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3345
    functionName: redis.commands.core.ScanCommands.scan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.commands.core.ScanCommands.scan
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c57850>
    - <ast.Constant object at 0x7f6c13c576d0>
    - <ast.Constant object at 0x7f6c13c570d0>
    argNames:
    - self
    - name
    - cursor
    - match
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3373
    functionName: redis.commands.core.ScanCommands.sscan
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12dcb760>
    - <ast.Constant object at 0x7f6c12dcb910>
    argNames:
    - self
    - name
    - match
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3397
    functionName: redis.commands.core.ScanCommands.sscan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.commands.core.ScanCommands.sscan
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f5f340>
    - <ast.Constant object at 0x7f6c13f5f5e0>
    - <ast.Constant object at 0x7f6c13f5f460>
    - <ast.Constant object at 0x7f6c13f5feb0>
    argNames:
    - self
    - name
    - cursor
    - match
    - count
    - no_values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3416
    functionName: redis.commands.core.ScanCommands.hscan
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c147a7490>
    - <ast.Constant object at 0x7f6c147a7eb0>
    - <ast.Constant object at 0x7f6c147a72b0>
    argNames:
    - self
    - name
    - match
    - count
    - no_values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3445
    functionName: redis.commands.core.ScanCommands.hscan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - data.items
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.core.ScanCommands.hscan
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136dac10>
    - <ast.Constant object at 0x7f6c136dad00>
    - <ast.Constant object at 0x7f6c136da640>
    - <ast.Name object at 0x7f6c136da130>
    argNames:
    - self
    - name
    - cursor
    - match
    - count
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3472
    functionName: redis.commands.core.ScanCommands.zscan
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a481f0>
    - <ast.Constant object at 0x7f6c13a48550>
    - <ast.Name object at 0x7f6c13a48d90>
    argNames:
    - self
    - name
    - match
    - count
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3500
    functionName: redis.commands.core.ScanCommands.zscan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - redis.commands.core.ScanCommands.zscan
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a485e0>
    - <ast.Constant object at 0x7f6c13a48c10>
    - <ast.Constant object at 0x7f6c13a48970>
    argNames:
    - self
    - match
    - count
    - _type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3530
    functionName: redis.commands.core.AsyncScanCommands.scan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.commands.core.ScanCommands.scan
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143e3bb0>
    - <ast.Constant object at 0x7f6c143e3250>
    argNames:
    - self
    - name
    - match
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3559
    functionName: redis.commands.core.AsyncScanCommands.sscan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.commands.core.ScanCommands.sscan
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1391b910>
    - <ast.Constant object at 0x7f6c1391bf70>
    - <ast.Constant object at 0x7f6c1391b190>
    argNames:
    - self
    - name
    - match
    - count
    - no_values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3581
    functionName: redis.commands.core.AsyncScanCommands.hscan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - data.items
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.core.ScanCommands.hscan
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136a9f40>
    - <ast.Constant object at 0x7f6c136a95b0>
    - <ast.Name object at 0x7f6c136a9550>
    argNames:
    - self
    - name
    - match
    - count
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 3610
    functionName: redis.commands.core.AsyncScanCommands.zscan_iter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - redis.commands.core.ScanCommands.zscan
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3646
    functionName: redis.commands.core.SetCommands.sadd
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3654
    functionName: redis.commands.core.SetCommands.scard
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3662
    functionName: redis.commands.core.SetCommands.sdiff
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - dest
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3671
    functionName: redis.commands.core.SetCommands.sdiffstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3683
    functionName: redis.commands.core.SetCommands.sinter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377e5b0>
    argNames:
    - self
    - numkeys
    - keys
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3692
    functionName: redis.commands.core.SetCommands.sintercard
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - dest
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3707
    functionName: redis.commands.core.SetCommands.sinterstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3719
    functionName: redis.commands.core.SetCommands.sismember
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3731
    functionName: redis.commands.core.SetCommands.smembers
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3739
    functionName: redis.commands.core.SetCommands.smismember
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - src
    - dst
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3756
    functionName: redis.commands.core.SetCommands.smove
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149f0b80>
    argNames:
    - self
    - name
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3764
    functionName: redis.commands.core.SetCommands.spop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a90340>
    argNames:
    - self
    - name
    - number
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3775
    functionName: redis.commands.core.SetCommands.srandmember
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3790
    functionName: redis.commands.core.SetCommands.srem
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3798
    functionName: redis.commands.core.SetCommands.sunion
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - dest
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3807
    functionName: redis.commands.core.SetCommands.sunionstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    - ids
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3829
    functionName: redis.commands.core.StreamCommands.xack
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    - ids
    - ref_policy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3842
    functionName: redis.commands.core.StreamCommands.xackdel
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 14
    IfCount: 16
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13236130>
    - <ast.Constant object at 0x7f6c13236220>
    - <ast.Constant object at 0x7f6c13236ee0>
    - <ast.Constant object at 0x7f6c13236dc0>
    - <ast.Constant object at 0x7f6c13236430>
    - <ast.Constant object at 0x7f6c13236850>
    - <ast.Constant object at 0x7f6c13236fd0>
    - <ast.Constant object at 0x7f6c13236160>
    - <ast.Constant object at 0x7f6c13236b80>
    argNames:
    - self
    - name
    - fields
    - id
    - maxlen
    - approximate
    - nomkstream
    - minid
    - limit
    - ref_policy
    - idmpauto
    - idmp
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3864
    functionName: redis.commands.core.StreamCommands.xadd
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fields.items
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e33d30>
    - <ast.Constant object at 0x7f6c12e33c10>
    argNames:
    - self
    - name
    - idmp_duration
    - idmp_maxsize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 3954
    functionName: redis.commands.core.StreamCommands.xcfgset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c131beeb0>
    - <ast.Constant object at 0x7f6c131be760>
    - <ast.Constant object at 0x7f6c131be8e0>
    argNames:
    - self
    - name
    - groupname
    - consumername
    - min_idle_time
    - start_id
    - count
    - justid
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4018
    functionName: redis.commands.core.StreamCommands.xautoclaim
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 7
    IfCount: 12
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1408aa60>
    - <ast.Constant object at 0x7f6c1408a4c0>
    - <ast.Constant object at 0x7f6c1408a1f0>
    - <ast.Constant object at 0x7f6c1408a040>
    - <ast.Constant object at 0x7f6c1408a7c0>
    argNames:
    - self
    - name
    - groupname
    - consumername
    - min_idle_time
    - message_ids
    - idle
    - time
    - retrycount
    - force
    - justid
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4069
    functionName: redis.commands.core.StreamCommands.xclaim
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - ids
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4152
    functionName: redis.commands.core.StreamCommands.xdel
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - ids
    - ref_policy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4164
    functionName: redis.commands.core.StreamCommands.xdelex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fc1370>
    - <ast.Constant object at 0x7f6c13fc1f70>
    - <ast.Constant object at 0x7f6c12faf130>
    argNames:
    - self
    - name
    - groupname
    - id
    - mkstream
    - entries_read
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4184
    functionName: redis.commands.core.StreamCommands.xgroup_create
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    - consumername
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4208
    functionName: redis.commands.core.StreamCommands.xgroup_delconsumer
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4223
    functionName: redis.commands.core.StreamCommands.xgroup_destroy
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    - consumername
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4233
    functionName: redis.commands.core.StreamCommands.xgroup_createconsumer
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13ea6eb0>
    argNames:
    - self
    - name
    - groupname
    - id
    - entries_read
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4250
    functionName: redis.commands.core.StreamCommands.xgroup_setid
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4270
    functionName: redis.commands.core.StreamCommands.xinfo_consumers
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4280
    functionName: redis.commands.core.StreamCommands.xinfo_groups
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c3e430>
    argNames:
    - self
    - name
    - full
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4289
    functionName: redis.commands.core.StreamCommands.xinfo_stream
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4304
    functionName: redis.commands.core.StreamCommands.xlen
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - groupname
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4312
    functionName: redis.commands.core.StreamCommands.xpending
    functionSourceFile: redis.commands.core
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13dd8d30>
    - <ast.Constant object at 0x7f6c13dd8a60>
    argNames:
    - self
    - name
    - groupname
    - min
    - max
    - count
    - consumername
    - idle
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 4322
    functionName: redis.commands.core.StreamCommands.xpending_range
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - redis.commands.core.StreamCommands.xpending
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13bd7130>
    - <ast.Constant object at 0x7f6c13bd7760>
    - <ast.Constant object at 0x7f6c13bd7c10>
    argNames:
    - self
    - name
    - min
    - max
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4379
    functionName: redis.commands.core.StreamCommands.xrange
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139dafd0>
    - <ast.Constant object at 0x7f6c139dadc0>
    argNames:
    - self
    - streams
    - count
    - block
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4411
    functionName: redis.commands.core.StreamCommands.xread
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - streams.items
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: streams.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 11
    IfCount: 8
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140cbc40>
    - <ast.Constant object at 0x7f6c140cbb20>
    - <ast.Constant object at 0x7f6c140cb370>
    - <ast.Constant object at 0x7f6c140cb190>
    argNames:
    - self
    - groupname
    - consumername
    - streams
    - count
    - block
    - noack
    - claim_min_idle_time
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4449
    functionName: redis.commands.core.StreamCommands.xreadgroup
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - streams.values
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - streams.keys
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: streams.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: streams.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d586a0>
    - <ast.Constant object at 0x7f6c12d58d30>
    - <ast.Constant object at 0x7f6c12d58df0>
    argNames:
    - self
    - name
    - max
    - min
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4509
    functionName: redis.commands.core.StreamCommands.xrevrange
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 9
    IfCount: 10
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13de2d60>
    - <ast.Constant object at 0x7f6c13de2910>
    - <ast.Constant object at 0x7f6c13de2e50>
    - <ast.Constant object at 0x7f6c13de2ee0>
    - <ast.Constant object at 0x7f6c13de24c0>
    argNames:
    - self
    - name
    - maxlen
    - approximate
    - minid
    - limit
    - ref_policy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4541
    functionName: redis.commands.core.StreamCommands.xtrim
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 9
    IfCount: 11
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13959c10>
    - <ast.Constant object at 0x7f6c13959760>
    - <ast.Constant object at 0x7f6c139592e0>
    - <ast.Constant object at 0x7f6c13959970>
    - <ast.Constant object at 0x7f6c13959cd0>
    - <ast.Constant object at 0x7f6c13959550>
    argNames:
    - self
    - name
    - mapping
    - nx
    - xx
    - ch
    - incr
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4604
    functionName: redis.commands.core.SortedSetCommands.zadd
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4681
    functionName: redis.commands.core.SortedSetCommands.zcard
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4689
    functionName: redis.commands.core.SortedSetCommands.zcount
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cdf9d0>
    argNames:
    - self
    - keys
    - withscores
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4698
    functionName: redis.commands.core.SortedSetCommands.zdiff
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - dest
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4710
    functionName: redis.commands.core.SortedSetCommands.zdiffstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - amount
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4720
    functionName: redis.commands.core.SortedSetCommands.zincrby
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1336c0a0>
    - <ast.Constant object at 0x7f6c1336ca30>
    argNames:
    - self
    - keys
    - aggregate
    - withscores
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 4728
    functionName: redis.commands.core.SortedSetCommands.zinter
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - options.get
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - keys.values
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.cluster.RedisCluster._extracts_socket_address
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - aggregate.upper
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.commands.core.SortedSetCommands._zaggregate
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - keys.keys
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12ced3d0>
    argNames:
    - self
    - command
    - dest
    - keys
    - aggregate
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5384
    functionName: redis.commands.core.SortedSetCommands._zaggregate
    functionSourceFile: redis.commands.core
    functionUses: 4
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - options.get
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - keys.values
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.cluster.RedisCluster._extracts_socket_address
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - aggregate.upper
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - keys.keys
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d46d90>
    argNames:
    - self
    - dest
    - keys
    - aggregate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 4744
    functionName: redis.commands.core.SortedSetCommands.zinterstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - options.get
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - keys.values
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.cluster.RedisCluster._extracts_socket_address
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - aggregate.upper
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.commands.core.SortedSetCommands._zaggregate
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - keys.keys
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d46040>
    argNames:
    - self
    - numkeys
    - keys
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4763
    functionName: redis.commands.core.SortedSetCommands.zintercard
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4778
    functionName: redis.commands.core.SortedSetCommands.zlexcount
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12f4cb50>
    argNames:
    - self
    - name
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4787
    functionName: redis.commands.core.SortedSetCommands.zpopmax
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d52370>
    argNames:
    - self
    - name
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4798
    functionName: redis.commands.core.SortedSetCommands.zpopmin
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d52c40>
    - <ast.Constant object at 0x7f6c12d52ee0>
    argNames:
    - self
    - key
    - count
    - withscores
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4809
    functionName: redis.commands.core.SortedSetCommands.zrandmember
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1381b6a0>
    argNames:
    - self
    - keys
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4835
    functionName: redis.commands.core.SortedSetCommands.bzpopmax
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - keys.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1338c340>
    argNames:
    - self
    - keys
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4854
    functionName: redis.commands.core.SortedSetCommands.bzpopmin
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - keys.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1338cd00>
    - <ast.Constant object at 0x7f6c1338c0a0>
    - <ast.Constant object at 0x7f6c1338c850>
    argNames:
    - self
    - num_keys
    - keys
    - min
    - max
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4873
    functionName: redis.commands.core.SortedSetCommands.zmpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - args.extend
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fabfd0>
    - <ast.Constant object at 0x7f6c13fab520>
    - <ast.Constant object at 0x7f6c13fab2e0>
    argNames:
    - self
    - timeout
    - numkeys
    - keys
    - min
    - max
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4898
    functionName: redis.commands.core.SortedSetCommands.bzmpop
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - args.extend
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 7
    IfCount: 9
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f6c130a17f0>
    - <ast.Constant object at 0x7f6c130a10d0>
    - <ast.Constant object at 0x7f6c130a1d90>
    - <ast.Constant object at 0x7f6c130a1280>
    - <ast.Name object at 0x7f6c130a1b20>
    - <ast.Constant object at 0x7f6c130a1040>
    - <ast.Constant object at 0x7f6c130a1520>
    argNames:
    - self
    - command
    - dest
    - name
    - start
    - end
    - desc
    - byscore
    - bylex
    - withscores
    - score_cast_func
    - offset
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 4930
    functionName: redis.commands.core.SortedSetCommands._zrange
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1416ffa0>
    - <ast.Constant object at 0x7f6c1416fb80>
    - <ast.Name object at 0x7f6c1416f130>
    - <ast.Constant object at 0x7f6c1416f0d0>
    - <ast.Constant object at 0x7f6c1416f7f0>
    - <ast.Constant object at 0x7f6c1416f460>
    - <ast.Constant object at 0x7f6c1416fc40>
    argNames:
    - self
    - name
    - start
    - end
    - desc
    - withscores
    - score_cast_func
    - byscore
    - bylex
    - offset
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 4971
    functionName: redis.commands.core.SortedSetCommands.zrange
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.core.SortedSetCommands._zrange
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.commands.core.SortedSetCommands.zrevrange
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138755b0>
    - <ast.Name object at 0x7f6c13875d30>
    argNames:
    - self
    - name
    - start
    - end
    - withscores
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5032
    functionName: redis.commands.core.SortedSetCommands.zrevrange
    functionSourceFile: redis.commands.core
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134b99d0>
    - <ast.Constant object at 0x7f6c134b9190>
    - <ast.Constant object at 0x7f6c134b9cd0>
    - <ast.Constant object at 0x7f6c134b9640>
    - <ast.Constant object at 0x7f6c134b91f0>
    argNames:
    - self
    - dest
    - name
    - start
    - end
    - byscore
    - bylex
    - desc
    - offset
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 5060
    functionName: redis.commands.core.SortedSetCommands.zrangestore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.core.SortedSetCommands._zrange
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13ca7d90>
    - <ast.Constant object at 0x7f6c13ca7f40>
    argNames:
    - self
    - name
    - min
    - max
    - start
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5110
    functionName: redis.commands.core.SortedSetCommands.zrangebylex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d7eaf0>
    - <ast.Constant object at 0x7f6c12d7ebb0>
    argNames:
    - self
    - name
    - max
    - min
    - start
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5134
    functionName: redis.commands.core.SortedSetCommands.zrevrangebylex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a46c10>
    - <ast.Constant object at 0x7f6c14a46af0>
    - <ast.Constant object at 0x7f6c14a469d0>
    - <ast.Name object at 0x7f6c14a46190>
    argNames:
    - self
    - name
    - min
    - max
    - start
    - num
    - withscores
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5158
    functionName: redis.commands.core.SortedSetCommands.zrangebyscore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13aeb2e0>
    - <ast.Constant object at 0x7f6c13aeb580>
    - <ast.Constant object at 0x7f6c13aebee0>
    - <ast.Name object at 0x7f6c13aeb1c0>
    argNames:
    - self
    - name
    - max
    - min
    - start
    - num
    - withscores
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5193
    functionName: redis.commands.core.SortedSetCommands.zrevrangebyscore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d2fc10>
    - <ast.Name object at 0x7f6c12d2fee0>
    argNames:
    - self
    - name
    - value
    - withscore
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5228
    functionName: redis.commands.core.SortedSetCommands.zrank
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5253
    functionName: redis.commands.core.SortedSetCommands.zrem
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5261
    functionName: redis.commands.core.SortedSetCommands.zremrangebylex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5272
    functionName: redis.commands.core.SortedSetCommands.zremrangebyrank
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5283
    functionName: redis.commands.core.SortedSetCommands.zremrangebyscore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149f4340>
    - <ast.Name object at 0x7f6c149f4a30>
    argNames:
    - self
    - name
    - value
    - withscore
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5294
    functionName: redis.commands.core.SortedSetCommands.zrevrank
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5319
    functionName: redis.commands.core.SortedSetCommands.zscore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1406e910>
    - <ast.Constant object at 0x7f6c1406eeb0>
    - <ast.Name object at 0x7f6c1406e0d0>
    argNames:
    - self
    - keys
    - aggregate
    - withscores
    - score_cast_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 5327
    functionName: redis.commands.core.SortedSetCommands.zunion
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - options.get
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - keys.values
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.cluster.RedisCluster._extracts_socket_address
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - aggregate.upper
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.commands.core.SortedSetCommands._zaggregate
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - keys.keys
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138233d0>
    argNames:
    - self
    - dest
    - keys
    - aggregate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 5353
    functionName: redis.commands.core.SortedSetCommands.zunionstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - options.get
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - keys.values
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.cluster.RedisCluster._extracts_socket_address
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - aggregate.upper
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - redis.commands.core.SortedSetCommands._zaggregate
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - keys.keys
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - members
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5368
    functionName: redis.commands.core.SortedSetCommands.zmscore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keys.keys
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keys.values
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: aggregate.upper
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5425
    functionName: redis.commands.core.HyperlogCommands.pfadd
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sources
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5433
    functionName: redis.commands.core.HyperlogCommands.pfcount
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - dest
    - sources
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5442
    functionName: redis.commands.core.HyperlogCommands.pfmerge
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5470
    functionName: redis.commands.core.HashCommands.hdel
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5478
    functionName: redis.commands.core.HashCommands.hexists
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5486
    functionName: redis.commands.core.HashCommands.hget
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5496
    functionName: redis.commands.core.HashCommands.hgetall
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5504
    functionName: redis.commands.core.HashCommands.hgetdel
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - keys
    - ex
    - px
    - exat
    - pxat
    - persist
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5523
    functionName: redis.commands.core.HashCommands.hgetex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134f7e50>
    argNames:
    - self
    - name
    - key
    - amount
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5577
    functionName: redis.commands.core.HashCommands.hincrby
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12f9a910>
    argNames:
    - self
    - name
    - key
    - amount
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5587
    functionName: redis.commands.core.HashCommands.hincrbyfloat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5597
    functionName: redis.commands.core.HashCommands.hkeys
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5605
    functionName: redis.commands.core.HashCommands.hlen
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13630e50>
    - <ast.Constant object at 0x7f6c13630250>
    - <ast.Constant object at 0x7f6c13630d90>
    - <ast.Constant object at 0x7f6c13630b50>
    argNames:
    - self
    - name
    - key
    - value
    - mapping
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5613
    functionName: redis.commands.core.HashCommands.hset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a1e8370>
    - <ast.Constant object at 0x7f6c0a1e83a0>
    - <ast.Constant object at 0x7f6c0a1e83d0>
    - <ast.Constant object at 0x7f6c0a1e8400>
    - <ast.Constant object at 0x7f6c0a1e8430>
    - <ast.Constant object at 0x7f6c0a1e8460>
    - <ast.Constant object at 0x7f6c0a1e8490>
    - <ast.Constant object at 0x7f6c0a1e84c0>
    - <ast.Constant object at 0x7f6c0a1e84f0>
    - <ast.Constant object at 0x7f6c0a1e8520>
    argNames:
    - self
    - name
    - key
    - value
    - mapping
    - items
    - ex
    - px
    - exat
    - pxat
    - data_persist_option
    - keepttl
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5646
    functionName: redis.commands.core.HashCommands.hsetex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5728
    functionName: redis.commands.core.HashCommands.hsetnx
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.core.HashCommands
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_function
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - mapping
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5742
    functionName: redis.commands.core.HashCommands.hmset
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - items.extend
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - mapping.items
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - keys
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5756
    functionName: redis.commands.core.HashCommands.hmget
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - keys.extend
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.commands.helpers.list_or_args
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5765
    functionName: redis.commands.core.HashCommands.hvals
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5773
    functionName: redis.commands.core.HashCommands.hstrlen
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - seconds
    - fields
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5782
    functionName: redis.commands.core.HashCommands.hexpire
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - seconds.total_seconds
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - options.append
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: seconds.total_seconds
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - milliseconds
    - fields
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5842
    functionName: redis.commands.core.HashCommands.hpexpire
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - milliseconds.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - options.append
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: milliseconds.total_seconds
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - unix_time_seconds
    - fields
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5902
    functionName: redis.commands.core.HashCommands.hexpireat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - unix_time_seconds.timestamp
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - options.append
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unix_time_seconds.timestamp
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - unix_time_milliseconds
    - fields
    - nx
    - xx
    - gt
    - lt
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 5968
    functionName: redis.commands.core.HashCommands.hpexpireat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - unix_time_milliseconds.timestamp
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - options.append
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unix_time_milliseconds.timestamp
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6034
    functionName: redis.commands.core.HashCommands.hpersist
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6053
    functionName: redis.commands.core.HashCommands.hexpiretime
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6075
    functionName: redis.commands.core.HashCommands.hpexpiretime
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6097
    functionName: redis.commands.core.HashCommands.httl
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6119
    functionName: redis.commands.core.HashCommands.hpttl
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - registered_client
    - script
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 6150
    functionName: redis.commands.core.Script.__init__
    functionSourceFile: redis.commands.core
    functionUses: 5
    functionsReached:
    - redis.cluster.RedisCluster.get_encoder
    - redis.connection.ConnectionPool.get_encoder
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - kwargs.get
    - redis.client.Redis.get_encoder
    - redis.commands.core.Script.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 6189
    functionName: redis.commands.core.Script.get_encoder
    functionSourceFile: redis.commands.core
    functionUses: 6
    functionsReached:
    - redis.cluster.RedisCluster.get_encoder
    - redis.asyncio.client.Redis.get_encoder
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - kwargs.get
    - redis.client.Redis.get_encoder
    - redis.connection.ConnectionPool.get_encoder
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1
    functionSourceFile: hashlib
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a0da9a0>
    - <ast.Constant object at 0x7f6c0a0da9d0>
    - <ast.Constant object at 0x7f6c0a0daa00>
    argNames:
    - self
    - keys
    - args
    - client
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 6162
    functionName: redis.commands.core.Script.__call__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - client.scripts.add
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - redis.commands.core.ScriptCommands.evalsha
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - redis.commands.core.ScriptCommands.script_load
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.commands.core.ScriptCommands._evalsha
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.scripts.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sha
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6384
    functionName: redis.commands.core.ScriptCommands.evalsha
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.commands.core.ScriptCommands._evalsha
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - script
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6462
    functionName: redis.commands.core.ScriptCommands.script_load
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1276
    functionName: redis.asyncio.connection.ConnectionPool.get_encoder
    functionSourceFile: redis.asyncio.connection
    functionUses: 21
    functionsReached:
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - registered_client
    - script
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 6213
    functionName: redis.commands.core.AsyncScript.__init__
    functionSourceFile: redis.commands.core
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a0e3c70>
    - <ast.Constant object at 0x7f6c0a0e3ca0>
    - <ast.Constant object at 0x7f6c0a0e3cd0>
    argNames:
    - self
    - keys
    - args
    - client
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 6233
    functionName: redis.commands.core.AsyncScript.__call__
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - client.scripts.add
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - redis.commands.core.ScriptCommands.evalsha
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - redis.commands.core.ScriptCommands.script_load
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.commands.core.ScriptCommands._evalsha
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - message
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6267
    functionName: redis.commands.core.PubSubCommands.publish
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - shard_channel
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6276
    functionName: redis.commands.core.PubSubCommands.spublish
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a06c760>
    argNames:
    - self
    - pattern
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6285
    functionName: redis.commands.core.PubSubCommands.pubsub_channels
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a06cb20>
    argNames:
    - self
    - pattern
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6293
    functionName: redis.commands.core.PubSubCommands.pubsub_shardchannels
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6301
    functionName: redis.commands.core.PubSubCommands.pubsub_numpat
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6309
    functionName: redis.commands.core.PubSubCommands.pubsub_numsub
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6318
    functionName: redis.commands.core.PubSubCommands.pubsub_shardnumsub
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.RedisCluster.determine_slot
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.cluster.NodesManager.move_slot
    - nodes_for_slot.append
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.asyncio.connection.AbstractConnection._host_error
    - threading.Lock
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - connection._sock.getsockname
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis.cluster.ClusterPipeline.execute_command
    - redis.cluster.NodesManager.remap_host_port
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.cluster.RedisCluster.get_default_node
    - random.randint
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis_node.connection_pool.release
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - weakref.WeakMethod
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection.disconnect
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - disagreements.append
    - cred_provider.get_credentials_async
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.connection.AbstractConnection.read_response
    - command_name.split
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - kwargs.pop
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - typing.cast.retry.call_with_retry
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - command.encode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.check_health
    - binascii.crc_hqx
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.send_command
    - random.choice
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.cluster.get_connection
    - redis.cluster.RedisCluster.get_node
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - asyncio.sleep
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - typing.Protocol._execution_strategy.execute_command
    - typing.cast.should_reconnect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - redis.cluster.RedisCluster.execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - command.upper
    - target_nodes.values
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.cluster.RedisCluster._process_result
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - time.sleep
    - abc.ABC.__init__
    - abc.ABC._event_listeners_mapping.get
    - redis.connection.AbstractConnection._send_ping
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.RedisCluster._get_command_keys
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - redis.cluster.NodesManager.initialize
    - redis.cluster.RedisCluster.get_primaries
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - logger.isEnabledFor
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.asyncio.connection.Connection.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - connection.send_command
    - version2.split
    - <builtin>.len
    - redis.client.Pipeline.execute_command
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - listener.listen
    - logger.debug
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - asyncio.timeout
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.cluster.RedisCluster.get_redis_connection
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - redis.cluster.RedisCluster._internal_execute_command
    - <builtin>.set
    - redis.utils.truncate_text
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - random.randrange
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - res.values
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - redis_node.parse_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - parser.set_node_moving_push_handler
    - key.find
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - textwrap.shorten
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - redis.connection.AbstractConnection.read_response
    - redis.cluster.RedisCluster._execute_command
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - command
    - script
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6337
    functionName: redis.commands.core.ScriptCommands._eval
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - script
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6346
    functionName: redis.commands.core.ScriptCommands.eval
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.commands.core.ScriptCommands._eval
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - script
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6361
    functionName: redis.commands.core.ScriptCommands.eval_ro
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.commands.core.ScriptCommands._eval
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - command
    - sha
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6375
    functionName: redis.commands.core.ScriptCommands._evalsha
    functionSourceFile: redis.commands.core
    functionUses: 4
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sha
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6400
    functionName: redis.commands.core.ScriptCommands.evalsha_ro
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.commands.core.ScriptCommands._evalsha
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6415
    functionName: redis.commands.core.ScriptCommands.script_exists
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 6425
    functionName: redis.commands.core.ScriptCommands.script_debug
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a07d6d0>
    argNames:
    - self
    - sync_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6430
    functionName: redis.commands.core.ScriptCommands.script_flush
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6454
    functionName: redis.commands.core.ScriptCommands.script_kill
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6481
    functionName: redis.commands.core.AsyncScriptCommands.script_debug
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - script
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 6484
    functionName: redis.commands.core.AsyncScriptCommands.register_script
    functionSourceFile: redis.commands.core
    functionUses: 4
    functionsReached:
    - redis.commands.core.AsyncScript.__init__
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a081f70>
    - <ast.Constant object at 0x7f6c0a081fa0>
    - <ast.Constant object at 0x7f6c0a081fd0>
    argNames:
    - self
    - name
    - values
    - nx
    - xx
    - ch
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6503
    functionName: redis.commands.core.GeoCommands.geoadd
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a085f40>
    argNames:
    - self
    - name
    - place1
    - place2
    - unit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6545
    functionName: redis.commands.core.GeoCommands.geodist
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6563
    functionName: redis.commands.core.GeoCommands.geohash
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6572
    functionName: redis.commands.core.GeoCommands.geopos
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a08e880>
    - <ast.Constant object at 0x7f6c0a08e8b0>
    - <ast.Constant object at 0x7f6c0a08e8e0>
    - <ast.Constant object at 0x7f6c0a08e910>
    - <ast.Constant object at 0x7f6c0a08e940>
    - <ast.Constant object at 0x7f6c0a08e970>
    - <ast.Constant object at 0x7f6c0a08e9a0>
    - <ast.Constant object at 0x7f6c0a08e9d0>
    - <ast.Constant object at 0x7f6c0a08ea00>
    argNames:
    - self
    - name
    - longitude
    - latitude
    - radius
    - unit
    - withdist
    - withcoord
    - withhash
    - count
    - sort
    - store
    - store_dist
    - any
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6582
    functionName: redis.commands.core.GeoCommands.georadius
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.core.GeoCommands._georadiusgeneric
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 9
    IfCount: 12
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - command
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6684
    functionName: redis.commands.core.GeoCommands._georadiusgeneric
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a092850>
    - <ast.Constant object at 0x7f6c0a092880>
    - <ast.Constant object at 0x7f6c0a0928b0>
    - <ast.Constant object at 0x7f6c0a0928e0>
    - <ast.Constant object at 0x7f6c0a092910>
    - <ast.Constant object at 0x7f6c0a092940>
    - <ast.Constant object at 0x7f6c0a092970>
    - <ast.Constant object at 0x7f6c0a0929a0>
    - <ast.Constant object at 0x7f6c0a0929d0>
    argNames:
    - self
    - name
    - member
    - radius
    - unit
    - withdist
    - withcoord
    - withhash
    - count
    - sort
    - store
    - store_dist
    - any
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6645
    functionName: redis.commands.core.GeoCommands.georadiusbymember
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.core.GeoCommands._georadiusgeneric
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 15
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a0a3190>
    - <ast.Constant object at 0x7f6c0a0a31c0>
    - <ast.Constant object at 0x7f6c0a0a31f0>
    - <ast.Constant object at 0x7f6c0a0a3220>
    - <ast.Constant object at 0x7f6c0a0a3250>
    - <ast.Constant object at 0x7f6c0a0a3280>
    - <ast.Constant object at 0x7f6c0a0a32b0>
    - <ast.Constant object at 0x7f6c0a0a32e0>
    - <ast.Constant object at 0x7f6c0a0a3310>
    - <ast.Constant object at 0x7f6c0a0a3340>
    - <ast.Constant object at 0x7f6c0a0a3370>
    - <ast.Constant object at 0x7f6c0a0a33a0>
    - <ast.Constant object at 0x7f6c0a0a33d0>
    argNames:
    - self
    - name
    - member
    - longitude
    - latitude
    - unit
    - radius
    - width
    - height
    - sort
    - count
    - any
    - withcoord
    - withdist
    - withhash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6730
    functionName: redis.commands.core.GeoCommands.geosearch
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.commands.core.GeoCommands._geosearchgeneric
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 28
    ICount: 9
    IfCount: 19
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - command
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6858
    functionName: redis.commands.core.GeoCommands._geosearchgeneric
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a0a7460>
    - <ast.Constant object at 0x7f6c0a0a7490>
    - <ast.Constant object at 0x7f6c0a0a74c0>
    - <ast.Constant object at 0x7f6c0a0a74f0>
    - <ast.Constant object at 0x7f6c0a0a7520>
    - <ast.Constant object at 0x7f6c0a0a7550>
    - <ast.Constant object at 0x7f6c0a0a7580>
    - <ast.Constant object at 0x7f6c0a0a75b0>
    - <ast.Constant object at 0x7f6c0a0a75e0>
    - <ast.Constant object at 0x7f6c0a0a7610>
    - <ast.Constant object at 0x7f6c0a0a7640>
    argNames:
    - self
    - dest
    - name
    - member
    - longitude
    - latitude
    - unit
    - radius
    - width
    - height
    - sort
    - count
    - any
    - storedist
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 6811
    functionName: redis.commands.core.GeoCommands.geosearchstore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.commands.core.GeoCommands._geosearchgeneric
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6934
    functionName: redis.commands.core.ModuleCommands.module_load
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a03d250>
    - <ast.Constant object at 0x7f6c0a03d280>
    argNames:
    - self
    - path
    - options
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6944
    functionName: redis.commands.core.ModuleCommands.module_loadex
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6965
    functionName: redis.commands.core.ModuleCommands.module_unload
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6974
    functionName: redis.commands.core.ModuleCommands.module_list
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 6983
    functionName: redis.commands.core.ModuleCommands.command_info
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6988
    functionName: redis.commands.core.ModuleCommands.command_count
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6991
    functionName: redis.commands.core.ModuleCommands.command_getkeys
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 6994
    functionName: redis.commands.core.ModuleCommands.command
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6999
    functionName: redis.commands.core.AsyncModuleCommands.command_info
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - cluster_arg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7008
    functionName: redis.commands.core.ClusterCommands.cluster
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - cluster_arg.upper
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cluster_arg.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7011
    functionName: redis.commands.core.ClusterCommands.readwrite
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7019
    functionName: redis.commands.core.ClusterCommands.readonly
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a0479d0>
    argNames:
    - self
    - code
    - replace
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7036
    functionName: redis.commands.core.FunctionCommands.function_load
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - library
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7053
    functionName: redis.commands.core.FunctionCommands.function_delete
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a04a520>
    argNames:
    - self
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7061
    functionName: redis.commands.core.FunctionCommands.function_flush
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a04aa90>
    - <ast.Constant object at 0x7f6c0a04aac0>
    argNames:
    - self
    - library
    - withcode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7069
    functionName: redis.commands.core.FunctionCommands.function_list
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - command
    - function
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7086
    functionName: redis.commands.core.FunctionCommands._fcall
    functionSourceFile: redis.commands.core
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - function
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 7091
    functionName: redis.commands.core.FunctionCommands.fcall
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.core.FunctionCommands._fcall
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - function
    - numkeys
    - keys_and_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 7101
    functionName: redis.commands.core.FunctionCommands.fcall_ro
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.core.FunctionCommands._fcall
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7112
    functionName: redis.commands.core.FunctionCommands.function_dump
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c0a0538b0>
    argNames:
    - self
    - payload
    - policy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7125
    functionName: redis.commands.core.FunctionCommands.function_restore
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7137
    functionName: redis.commands.core.FunctionCommands.function_kill
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 7145
    functionName: redis.commands.core.FunctionCommands.function_stats
    functionSourceFile: redis.commands.core
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.helpers
    functionSourceFile: redis.commands.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keys.extend
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: redis.commands.helpers.nativestr
    functionSourceFile: redis.commands.helpers
    functionUses: 10
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.decode
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: redis.commands.helpers.delist
    functionSourceFile: redis.commands.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    - redis.commands.helpers.nativestr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 42
    functionName: redis.commands.helpers.parse_to_list
    functionSourceFile: redis.commands.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - item_str.lower
    - x.decode
    - <builtin>.float
    - redis.commands.helpers.nativestr
    - res.append
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: res.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item_str.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f6c133861f0>
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: redis.commands.helpers.random_string
    functionSourceFile: redis.commands.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: redis.commands.helpers.decode_dict_keys
    functionSourceFile: redis.commands.helpers
    functionUses: 0
    functionsReached:
    - newobj.pop
    - copy.copy
    - <builtin>.isinstance
    - k.decode
    - obj.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.decode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: newobj.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - client
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: redis.commands.helpers.get_protocol_version
    functionSourceFile: redis.commands.helpers
    functionUses: 33
    functionsReached:
    - <builtin>.isinstance
    - client.nodes_manager.connection_kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.nodes_manager.connection_kwargs.get
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.client
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: redis.asyncio.client.ResponseCallbackProtocol.__call__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 104
    functionName: redis.asyncio.client.AsyncResponseCallbackProtocol.__call__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fc1550>
    - <ast.Constant object at 0x7f6c13fc1b20>
    argNames:
    - cls
    - url
    - single_connection_client
    - auto_close_connection_pool
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 128
    functionName: redis.asyncio.client.Redis.from_url
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - redis.asyncio.connection.ConnectionPool.from_url
    - importlib.metadata.version
    - urllib.parse.unquote.replace
    - urllib.parse.unquote
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - urllib.parse.parse_qs
    - <builtin>.type
    - URL_QUERY_ARGUMENT_PARSERS.get
    - <builtin>.isinstance
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - warnings.warn
    - <builtin>.len
    - <builtin>.int
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.connection.parse_url
    - urllib.parse.parse_qs.items
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.asyncio.client.Redis.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - urllib.parse.urlparse
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1160
    functionName: redis.asyncio.connection.ConnectionPool.from_url
    functionSourceFile: redis.asyncio.connection
    functionUses: 2
    functionsReached:
    - urllib.parse.unquote.replace
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - urllib.parse.unquote
    - abc.ABC.__init__
    - kwargs.update
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - urllib.parse.parse_qs
    - URL_QUERY_ARGUMENT_PARSERS.get
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.event.EventDispatcher.__init__
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.parse_url
    - urllib.parse.parse_qs.items
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - urllib.parse.urlparse
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 43
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - db
    - password
    - socket_timeout
    - socket_connect_timeout
    - socket_keepalive
    - socket_keepalive_options
    - connection_pool
    - unix_socket_path
    - encoding
    - encoding_errors
    - decode_responses
    - retry_on_timeout
    - retry
    - retry_on_error
    - ssl
    - ssl_keyfile
    - ssl_certfile
    - ssl_cert_reqs
    - ssl_include_verify_flags
    - ssl_exclude_verify_flags
    - ssl_ca_certs
    - ssl_ca_data
    - ssl_ca_path
    - ssl_check_hostname
    - ssl_min_version
    - ssl_ciphers
    - ssl_password
    - max_connections
    - single_connection_client
    - health_check_interval
    - client_name
    - lib_name
    - lib_version
    - driver_info
    - username
    - auto_close_connection_pool
    - redis_connect_func
    - credential_provider
    - protocol
    - event_dispatcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 222
    functionName: redis.asyncio.client.Redis.__init__
    functionSourceFile: redis.asyncio.client
    functionUses: 6
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - warnings.warn
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - connection_pool
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 197
    functionName: redis.asyncio.client.Redis.from_pool
    functionSourceFile: redis.asyncio.client
    functionUses: 2
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - warnings.warn
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.asyncio.client.Redis.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.client.Redis
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    - redis.utils.deprecated_function
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f6c13bd7ca0>
    - <ast.Constant object at 0x7f6c13bd7820>
    argNames:
    - self
    - connection_class
    - max_connections
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1206
    functionName: redis.asyncio.connection.ConnectionPool.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 8
    functionsReached:
    - <builtin>.list
    - abc.ABC.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.EventDispatcher.__init__
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 416
    functionName: redis.asyncio.client.Redis.__repr__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 422
    functionName: redis.asyncio.client.Redis.__await__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - <builtin>.super
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.Connection._host_error
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.client.Pipeline.__await__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - redis.asyncio.connection.AbstractConnection.check_health
    - command.encode
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.client.Pipeline._async_self
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 425
    functionName: redis.asyncio.client.Redis.initialize
    functionSourceFile: redis.asyncio.client
    functionUses: 511
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - <builtin>.super
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - command.encode
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1368
    functionName: redis.asyncio.client.Pipeline.__await__
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - redis.asyncio.client.Pipeline.__await__
    - redis.asyncio.client.Pipeline._async_self
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149ecd30>
    argNames:
    - self
    - command_name
    - keys
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1252
    functionName: redis.asyncio.connection.ConnectionPool.get_connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 535
    functionsReached:
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 438
    functionName: redis.asyncio.client.Redis.set_response_callback
    functionSourceFile: redis.asyncio.client
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 450
    functionName: redis.asyncio.client.Redis.get_retry
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.Redis.get_connection_kwargs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: redis.asyncio.client.Redis.set_retry
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.set_retry
    - redis.asyncio.client.Redis.get_connection_kwargs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1352
    functionName: redis.asyncio.connection.ConnectionPool.set_retry
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - funcname
    - func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 457
    functionName: redis.asyncio.client.Redis.load_external_module
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14352940>
    - <ast.Constant object at 0x7f6c14352bb0>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 480
    functionName: redis.asyncio.client.Redis.pipeline
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - <builtin>.set
    - redis.asyncio.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - connection_pool
    - response_callbacks
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1345
    functionName: redis.asyncio.client.Pipeline.__init__
    functionSourceFile: redis.asyncio.client
    functionUses: 7
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - shard_hint
    - value_from_callable
    - watch_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 494
    functionName: redis.asyncio.client.Redis.transaction
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - pipe.watch
    - asyncio.sleep
    - pipe.execute
    - redis.asyncio.client.Redis.pipeline
    - inspect.isawaitable
    - <builtin>.set
    - redis.asyncio.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isawaitable
    functionSourceFile: inspect
    functionUses: 559
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a90970>
    - <ast.Constant object at 0x7f6c13a90d30>
    - <ast.Constant object at 0x7f6c13a90670>
    - <ast.Constant object at 0x7f6c13a908b0>
    - <ast.Constant object at 0x7f6c13a90e20>
    - <ast.Constant object at 0x7f6c13a90790>
    - <ast.Constant object at 0x7f6c13a909a0>
    argNames:
    - self
    - name
    - timeout
    - sleep
    - blocking
    - blocking_timeout
    - lock_class
    - thread_local
    - raise_on_release_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 523
    functionName: redis.asyncio.client.Redis.lock
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.asyncio.lock.Lock.register_scripts
    - redis.commands.core.AsyncScriptCommands.register_script
    - types.SimpleNamespace
    - redis.commands.core.AsyncScript.__init__
    - <builtin>.isinstance
    - redis.asyncio.lock.Lock.__init__
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - threading.local
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 604
    functionName: redis.asyncio.client.Redis.pubsub
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - handler.setLevel
    - logger.addHandler
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - kwargs.get
    - abc.ABC.__init__
    - logging.root.manager.loggerDict.keys
    - logging.StreamHandler
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - logger.setLevel
    - logging.getLogger
    - redis.event.EventDispatcher.__init__
    - redis.utils._set_info_logger
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.asyncio.client.PubSub.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c147a7280>
    - <ast.Constant object at 0x7f6c147a7b80>
    - <ast.Constant object at 0x7f6c147a72b0>
    - <ast.Constant object at 0x7f6c147a7eb0>
    - <ast.Constant object at 0x7f6c147a7490>
    argNames:
    - self
    - connection_pool
    - shard_hint
    - ignore_subscribe_messages
    - encoder
    - push_handler_func
    - event_dispatcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 879
    functionName: redis.asyncio.client.PubSub.__init__
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - handler.setLevel
    - logger.addHandler
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - kwargs.get
    - abc.ABC.__init__
    - logging.root.manager.loggerDict.keys
    - logging.StreamHandler
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - logger.setLevel
    - logging.getLogger
    - redis.event.EventDispatcher.__init__
    - redis.utils._set_info_logger
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 614
    functionName: redis.asyncio.client.Redis.monitor
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.Monitor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection_pool
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 803
    functionName: redis.asyncio.client.Monitor.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: redis.asyncio.client.Redis.client
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - typing.Protocol.__class__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 622
    functionName: redis.asyncio.client.Redis.__aenter__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - <builtin>.super
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - redis.asyncio.connection.AbstractConnection.check_health
    - command.encode
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.asyncio.client.Redis._increment_usage
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - asyncio.timeout
    - output.append
    - redis.asyncio.client.Redis._decrement_usage
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 637
    functionName: redis.asyncio.client.Redis._increment_usage
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 646
    functionName: redis.asyncio.client.Redis._decrement_usage
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 655
    functionName: redis.asyncio.client.Redis.__aexit__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - asyncio.shield
    - typing.cast.should_reconnect
    - redis.event.EventDispatcher.dispatch_async
    - redis.asyncio.client.Pipeline.aclose
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.read_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - itertools.chain
    - <builtin>.type
    - <builtin>.isinstance
    - async_timeout.timeout
    - typing.cast.send_command
    - asyncio.gather
    - listener.listen
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - redis.asyncio.connection.ConnectionPool.disconnect
    - <builtin>.next
    - redis.asyncio.client.Redis._decrement_usage
    - typing.cast.disconnect
    - <builtin>.set
    - redis.asyncio.client.Redis.aclose
    - redis.asyncio.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377e970>
    argNames:
    - self
    - close_connection_pool
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 683
    functionName: redis.asyncio.client.Redis.aclose
    functionSourceFile: redis.asyncio.client
    functionUses: 2
    functionsReached:
    - typing.cast.should_reconnect
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - itertools.chain
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - <builtin>.type
    - <builtin>.isinstance
    - async_timeout.timeout
    - asyncio.gather
    - listener.listen
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - redis.asyncio.connection.ConnectionPool.disconnect
    - <builtin>.next
    - typing.cast.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1407
    functionName: redis.asyncio.client.Pipeline.aclose
    functionSourceFile: redis.asyncio.client
    functionUses: 2
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - typing.cast.read_response
    - listener.listen
    - typing.cast.send_command
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - redis.asyncio.client.Pipeline.reset
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6c13b906a0>
    - <ast.Attribute object at 0x7f6c13b90640>
    argNames:
    - self
    - _warn
    - _grl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 669
    functionName: redis.asyncio.client.Redis.__del__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - typing.cast._close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast._close
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1305
    functionName: redis.asyncio.connection.ConnectionPool.release
    functionSourceFile: redis.asyncio.connection
    functionUses: 549
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142fb8e0>
    argNames:
    - self
    - inuse_connections
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1318
    functionName: redis.asyncio.connection.ConnectionPool.disconnect
    functionSourceFile: redis.asyncio.connection
    functionUses: 6
    functionsReached:
    - <builtin>.next
    - asyncio.gather
    - <builtin>.isinstance
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377e5e0>
    argNames:
    - self
    - close_connection_pool
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 704
    functionName: redis.asyncio.client.Redis.close
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - typing.cast.should_reconnect
    - redis.event.EventDispatcher.dispatch_async
    - redis.asyncio.client.Pipeline.aclose
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.read_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - itertools.chain
    - <builtin>.type
    - <builtin>.isinstance
    - async_timeout.timeout
    - typing.cast.send_command
    - asyncio.gather
    - listener.listen
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - redis.asyncio.connection.ConnectionPool.disconnect
    - <builtin>.next
    - typing.cast.disconnect
    - <builtin>.set
    - redis.asyncio.client.Redis.aclose
    - redis.asyncio.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - conn
    - command_name
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 710
    functionName: redis.asyncio.client.Redis._send_command_parse_response
    functionSourceFile: redis.asyncio.client
    functionUses: 2
    functionsReached:
    - redis.asyncio.client.Pipeline.parse_response
    - typing.cast.send_command
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.send_command
    functionSourceFile: typing
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - command_name
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1606
    functionName: redis.asyncio.client.Pipeline.parse_response
    functionSourceFile: redis.asyncio.client
    functionUses: 6
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 717
    functionName: redis.asyncio.client.Redis._close_connection
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - conn.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: redis.asyncio.client.Redis.execute_command.<lambda1>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.Pipeline.parse_response
    - typing.cast.send_command
    - redis.asyncio.client.Redis._send_command_parse_response
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.client.Redis.execute_command.<lambda2>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.Redis._close_connection
    - conn.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - command_name
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 752
    functionName: redis.asyncio.client.Redis.parse_response
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - typing.cast.read_response
    - typing.cast
    - inspect.isawaitable
    - options.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.read_response
    functionSourceFile: typing
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.client.Monitor
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 807
    functionName: redis.asyncio.client.Monitor.connect
    functionSourceFile: redis.asyncio.client
    functionUses: 3
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 811
    functionName: redis.asyncio.client.Monitor.__aenter__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.Monitor.connect
    - redis.utils.str_if_bytes
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - redis._parsers.helpers.bool_ok
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 820
    functionName: redis.asyncio.client.Monitor.__aexit__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 824
    functionName: redis.asyncio.client.Monitor.next_command
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - response.split
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - client_info.rsplit
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - kwargs.get
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.Monitor.connect
    - client_info.startswith
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - m.groups
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - command.replace
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 860
    functionName: redis.asyncio.client.Monitor.listen
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - response.split
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - client_info.rsplit
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - kwargs.get
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.Monitor.connect
    - client_info.startswith
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.client.Monitor.next_command
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - m.groups
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - command.replace
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 920
    functionName: redis.asyncio.client.PubSub.__aenter__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 923
    functionName: redis.asyncio.client.PubSub.__aexit__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.PubSub.aclose
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.hasattr
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 930
    functionName: redis.asyncio.client.PubSub.aclose
    functionSourceFile: redis.asyncio.client
    functionUses: 3
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.hasattr
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 926
    functionName: redis.asyncio.client.PubSub.__del__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.client.PubSub
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_function
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 948
    functionName: redis.asyncio.client.PubSub.close
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.PubSub.aclose
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.hasattr
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 953
    functionName: redis.asyncio.client.PubSub.reset
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.PubSub.aclose
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.hasattr
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 957
    functionName: redis.asyncio.client.PubSub.on_connect
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.client.PubSub.subscribe
    - redis.asyncio.connection.AbstractConnection.connect
    - new_patterns.keys
    - redis.asyncio.client.PubSub.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.commands.helpers.list_or_args
    - asyncio.get_running_loop
    - data.items
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - new_channels.update
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - new_channels.keys
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.client.PubSub._execute
    - redis.asyncio.connection.ConnectionPool.make_connection
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.PubSub._normalize_keys
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - dict.fromkeys
    - <builtin>.iter
    - <builtin>.range
    - asyncio.sleep
    - redis.asyncio.client.PubSub.execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.client.PubSub.psubscribe
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - new_patterns.update
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1122
    functionName: redis.asyncio.client.PubSub.subscribe
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.asyncio.client.PubSub.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.commands.helpers.list_or_args
    - asyncio.get_running_loop
    - data.items
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - new_channels.update
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - new_channels.keys
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.client.PubSub._execute
    - redis.asyncio.connection.ConnectionPool.make_connection
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.PubSub._normalize_keys
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - dict.fromkeys
    - <builtin>.iter
    - <builtin>.range
    - asyncio.sleep
    - redis.asyncio.client.PubSub.execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1086
    functionName: redis.asyncio.client.PubSub.psubscribe
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.connection.AbstractConnection.connect
    - new_patterns.keys
    - redis.asyncio.client.PubSub.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.commands.helpers.list_or_args
    - asyncio.get_running_loop
    - data.items
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.client.PubSub._execute
    - redis.asyncio.connection.ConnectionPool.make_connection
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.PubSub._normalize_keys
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - dict.fromkeys
    - <builtin>.iter
    - <builtin>.range
    - asyncio.sleep
    - redis.asyncio.client.PubSub.execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - new_patterns.update
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 976
    functionName: redis.asyncio.client.PubSub.subscribed
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 980
    functionName: redis.asyncio.client.PubSub.execute_command
    functionSourceFile: redis.asyncio.client
    functionUses: 6
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.asyncio.client.PubSub.connect
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - <builtin>.super
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - conn.retry.call_with_retry
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - command.encode
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - redis.asyncio.client.PubSub._execute
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 992
    functionName: redis.asyncio.client.PubSub.connect
    functionSourceFile: redis.asyncio.client
    functionUses: 8
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - <builtin>.super
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - command.encode
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - conn
    - command
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1019
    functionName: redis.asyncio.client.PubSub._execute
    functionSourceFile: redis.asyncio.client
    functionUses: 11
    functionsReached:
    - conn.retry.call_with_retry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1012
    functionName: redis.asyncio.client.PubSub._reconnect
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - conn.disconnect
    - conn.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.client.PubSub._execute.<lambda1>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.client.PubSub._execute.<lambda2>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.PubSub._reconnect
    - conn.disconnect
    - conn.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14253be0>
    - <ast.Constant object at 0x7f6c14253490>
    argNames:
    - self
    - block
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1032
    functionName: redis.asyncio.client.PubSub.parse_response
    functionSourceFile: redis.asyncio.client
    functionUses: 3
    functionsReached:
    - asyncio.get_running_loop
    - redis.asyncio.client.PubSub._execute
    - conn.send_command
    - conn.connect
    - conn.retry.call_with_retry
    - redis.asyncio.client.PubSub.check_health
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1060
    functionName: redis.asyncio.client.PubSub.check_health
    functionSourceFile: redis.asyncio.client
    functionUses: 4
    functionsReached:
    - asyncio.get_running_loop
    - conn.send_command
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.get_running_loop
    functionSourceFile: asyncio
    functionUses: 577
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1076
    functionName: redis.asyncio.client.PubSub._normalize_keys
    functionSourceFile: redis.asyncio.client
    functionUses: 5
    functionsReached:
    - data.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1107
    functionName: redis.asyncio.client.PubSub.punsubscribe
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.asyncio.client.PubSub.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.commands.helpers.list_or_args
    - asyncio.get_running_loop
    - data.items
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.client.PubSub._execute
    - redis.asyncio.connection.ConnectionPool.make_connection
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.PubSub._normalize_keys
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - dict.fromkeys
    - <builtin>.iter
    - <builtin>.range
    - asyncio.sleep
    - redis.asyncio.client.PubSub.execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1143
    functionName: redis.asyncio.client.PubSub.unsubscribe
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.asyncio.client.PubSub.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.commands.helpers.list_or_args
    - asyncio.get_running_loop
    - data.items
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.client.PubSub._execute
    - redis.asyncio.connection.ConnectionPool.make_connection
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.client.PubSub._normalize_keys
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - dict.fromkeys
    - <builtin>.iter
    - <builtin>.range
    - asyncio.sleep
    - redis.asyncio.client.PubSub.execute_command
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - keys.extend
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1157
    functionName: redis.asyncio.client.PubSub.listen
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - redis.utils.str_if_bytes
    - redis.asyncio.client.PubSub.parse_response
    - redis.asyncio.client.PubSub._execute
    - conn.send_command
    - <builtin>.isinstance
    - inspect.iscoroutinefunction
    - conn.connect
    - conn.retry.call_with_retry
    - redis.asyncio.client.PubSub.handle_message
    - typing.Protocol.decode
    - redis.asyncio.client.PubSub.check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 7
    IfCount: 14
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13d6df10>
    argNames:
    - self
    - response
    - ignore_subscribe_messages
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1189
    functionName: redis.asyncio.client.PubSub.handle_message
    functionSourceFile: redis.asyncio.client
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - inspect.iscoroutinefunction
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e8bf10>
    - <ast.Constant object at 0x7f6c12e8b0d0>
    argNames:
    - self
    - ignore_subscribe_messages
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1164
    functionName: redis.asyncio.client.PubSub.get_message
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - asyncio.get_running_loop
    - redis.utils.str_if_bytes
    - redis.asyncio.client.PubSub.parse_response
    - redis.asyncio.client.PubSub._execute
    - conn.send_command
    - <builtin>.isinstance
    - inspect.iscoroutinefunction
    - conn.connect
    - conn.retry.call_with_retry
    - redis.asyncio.client.PubSub.handle_message
    - typing.Protocol.decode
    - redis.asyncio.client.PubSub.check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e8b580>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1179
    functionName: redis.asyncio.client.PubSub.ping
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.asyncio.client.PubSub.execute_command
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.asyncio.client.PubSub.connect
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - <builtin>.super
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - conn.retry.call_with_retry
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - command.encode
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - redis.asyncio.client.PubSub._execute
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception_handler
    - poll_timeout
    - pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1255
    functionName: redis.asyncio.client.PubSub.run
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.connection.AbstractConnection.connect
    - conn.connect
    - redis.asyncio.client.PubSub.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - asyncio.get_running_loop
    - conn.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.client.PubSub.parse_response
    - redis.asyncio.client.PubSub._execute
    - redis.asyncio.connection.ConnectionPool.make_connection
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.client.PubSub.check_health
    - redis.asyncio.connection.Connection._connect
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - pubsub.get_message
    - <builtin>.range
    - asyncio.sleep
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - inspect.iscoroutinefunction
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.event.AfterPubSubConnectionInstantiationEvent.__init__
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.asyncio.client.PubSub.get_message
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.asyncio.client.PubSub.handle_message
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - PubSubError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - e
    - pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1307
    functionName: redis.asyncio.client.PubsubWorkerExceptionHandler.__call__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - e
    - pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1311
    functionName: redis.asyncio.client.AsyncPubsubWorkerExceptionHandler.__call__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1362
    functionName: redis.asyncio.client.Pipeline.__aenter__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1365
    functionName: redis.asyncio.client.Pipeline.__aexit__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - typing.cast.read_response
    - listener.listen
    - typing.cast.send_command
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - redis.asyncio.client.Pipeline.reset
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1383
    functionName: redis.asyncio.client.Pipeline.reset
    functionSourceFile: redis.asyncio.client
    functionUses: 15
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.read_response
    - typing.cast.send_command
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - listener.listen
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1380
    functionName: redis.asyncio.client.Pipeline._async_self
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1373
    functionName: redis.asyncio.client.Pipeline.__len__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1376
    functionName: redis.asyncio.client.Pipeline.__bool__
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.disconnect
    functionSourceFile: typing
    functionUses: 554
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1411
    functionName: redis.asyncio.client.Pipeline.multi
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1456
    functionName: redis.asyncio.client.Pipeline.immediate_execute_command
    functionSourceFile: redis.asyncio.client
    functionUses: 517
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1477
    functionName: redis.asyncio.client.Pipeline.pipeline_execute_command
    functionSourceFile: ''
    functionUses: 512
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - conn
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1431
    functionName: redis.asyncio.client.Pipeline._disconnect_reset_raise_on_watching
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - <builtin>.type
    - redis.event.EventDispatcher.dispatch_async
    - async_timeout.timeout
    - typing.cast.read_response
    - listener.listen
    - typing.cast.send_command
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.disconnect
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - <builtin>.set
    - redis.asyncio.client.Pipeline.reset
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    linkageType: pythonLinkage
    raised:
    - WatchError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: redis.asyncio.client.Pipeline.immediate_execute_command.<lambda1>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.Pipeline.parse_response
    - typing.cast.send_command
    - redis.asyncio.client.Redis._send_command_parse_response
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: -1
    functionName: redis.asyncio.client.Pipeline.immediate_execute_command.<lambda2>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - typing.cast.should_reconnect
    - redis.event.EventDispatcher.dispatch_async
    - redis.asyncio.client.Pipeline._disconnect_reset_raise_on_watching
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.read_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - <builtin>.type
    - async_timeout.timeout
    - typing.cast.send_command
    - listener.listen
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - typing.cast.disconnect
    - <builtin>.set
    - redis.asyncio.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.retry.call_with_retry
    functionSourceFile: typing
    functionUses: 518
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - commands
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1492
    functionName: redis.asyncio.client.Pipeline._execute_transaction
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - data.append
    - <builtin>.zip
    - <builtin>.enumerate
    - inspect.isawaitable
    - <builtin>.super
    - redis.asyncio.client.Pipeline.annotate_exception
    - errors.append
    - <builtin>.map
    - <builtin>.isinstance
    - typing.cast.pack_commands
    - response.insert
    - redis.asyncio.client.Pipeline.parse_response
    - textwrap.shorten
    - <builtin>.len
    - redis.asyncio.client.Pipeline.raise_first_error
    - typing.cast.send_packed_command
    - typing.cast.disconnect
    - options.pop
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised:
    - WatchError
    - ResponseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.pack_commands
    functionSourceFile: typing
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.send_packed_command
    functionSourceFile: typing
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exception
    - number
    - command
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1596
    functionName: redis.asyncio.client.Pipeline.annotate_exception
    functionSourceFile: redis.asyncio.client
    functionUses: 4
    functionsReached:
    - <builtin>.map
    - redis.utils.truncate_text
    - textwrap.shorten
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - commands
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1590
    functionName: redis.asyncio.client.Pipeline.raise_first_error
    functionSourceFile: redis.asyncio.client
    functionUses: 3
    functionsReached:
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.enumerate
    - redis.asyncio.client.Pipeline.annotate_exception
    - textwrap.shorten
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - connection
    - commands
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1570
    functionName: redis.asyncio.client.Pipeline._execute_pipeline
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - redis.asyncio.client.Pipeline.raise_first_error
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.enumerate
    - redis.asyncio.client.Pipeline.annotate_exception
    - typing.cast.pack_commands
    - response.append
    - redis.asyncio.client.Pipeline.parse_response
    - typing.cast.send_packed_command
    - <builtin>.super
    - textwrap.shorten
    - redis.utils.truncate_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1616
    functionName: redis.asyncio.client.Pipeline.load_scripts
    functionSourceFile: redis.asyncio.client
    functionUses: 9
    functionsReached:
    - <builtin>.all
    - redis.asyncio.connection.ConnectionPool.get_connection
    - <builtin>.zip
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - <builtin>.list
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - conn
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1629
    functionName: redis.asyncio.client.Pipeline._disconnect_raise_on_watching
    functionSourceFile: redis.asyncio.client
    functionUses: 1
    functionsReached:
    - typing.cast.disconnect
    linkageType: pythonLinkage
    raised:
    - WatchError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13464520>
    argNames:
    - self
    - raise_on_error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1648
    functionName: redis.asyncio.client.Pipeline.execute
    functionSourceFile: redis.asyncio.client
    functionUses: 8
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.asyncio.connection.AbstractConnection.connect
    - <builtin>.str
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - asyncio.get_running_loop
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - typing.cast.send_command
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.asyncio.connection.Connection._connect
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.range
    - redis.asyncio.client.Pipeline.reset
    - asyncio.sleep
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - typing.cast.read_response
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - <builtin>.len
    - listener.listen
    - asyncio.timeout
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.all
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.client.Pipeline.load_scripts
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.int
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - typing.cast
    - response.get
    - <builtin>.set
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.asyncio.client.Pipeline.execute.<lambda1>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - data.append
    - <builtin>.zip
    - <builtin>.enumerate
    - inspect.isawaitable
    - <builtin>.super
    - redis.asyncio.client.Pipeline.annotate_exception
    - redis.utils.truncate_text
    - response.append
    - <builtin>.map
    - <builtin>.isinstance
    - typing.cast.pack_commands
    - response.insert
    - redis.asyncio.client.Pipeline.parse_response
    - <builtin>.len
    - textwrap.shorten
    - redis.asyncio.client.Pipeline._execute_pipeline
    - redis.asyncio.client.Pipeline.raise_first_error
    - redis.asyncio.client.Pipeline._execute_transaction
    - typing.cast.send_packed_command
    - typing.cast.disconnect
    - options.pop
    - errors.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.client.Pipeline.execute.<lambda2>
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.client.Pipeline._disconnect_raise_on_watching
    - typing.cast.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1676
    functionName: redis.asyncio.client.Pipeline.discard
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.execute_command
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1682
    functionName: redis.asyncio.client.Pipeline.watch
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.execute_command
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1688
    functionName: redis.asyncio.client.Pipeline.unwatch
    functionSourceFile: redis.asyncio.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.get_connection
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.execute_command
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - inspect.isawaitable
    - typing.cast.should_reconnect
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.str
    - <builtin>.super
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.event.EventDispatcher.dispatch_async
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - asyncio.Lock
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.Connection.__init__
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.type
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - command.encode
    - <builtin>.sum
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - listener.listen
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.release
    - output.append
    - typing.cast.disconnect
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - types.MappingProxyType
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.connection._Sentinel
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 99
    functionName: redis.asyncio.connection.ConnectCallbackProtocol.__call__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: redis.asyncio.connection.AsyncConnectCallbackProtocol.__call__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.connection.AbstractConnection
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - functools.wraps
    - inspect.iscoroutinefunction
    - abc.abstractmethod
    - redis.utils.deprecated_args
    - redis.utils.deprecated_args.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 24
    argDefaultValues: []
    argNames:
    - self
    - db
    - password
    - socket_timeout
    - socket_connect_timeout
    - retry_on_timeout
    - retry_on_error
    - encoding
    - encoding_errors
    - decode_responses
    - parser_class
    - socket_read_size
    - health_check_interval
    - client_name
    - lib_name
    - lib_version
    - driver_info
    - username
    - retry
    - redis_connect_func
    - encoder_class
    - credential_provider
    - protocol
    - event_dispatcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 146
    functionName: redis.asyncio.connection.AbstractConnection.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - copy.deepcopy
    - abc.ABC.__init__
    - redis.utils.get_lib_version
    - redis.event.EventDispatcher.register_listeners
    - <builtin>.list
    - redis.asyncio.retry.Retry.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.EventDispatcher.__init__
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - retry_on_error.append
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.backoff.NoBackoff.__init__
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - DataError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retry_on_error.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 312
    functionName: redis.asyncio.connection.AbstractConnection.set_parser
    functionSourceFile: ''
    functionUses: 556
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7f6c133d3ac0>
    argNames:
    - self
    - _warnings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: redis.asyncio.connection.AbstractConnection.__del__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - warnings.warn
    - asyncio.get_running_loop
    - redis.asyncio.connection.AbstractConnection._close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 269
    functionName: redis.asyncio.connection.AbstractConnection._close
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 277
    functionName: redis.asyncio.connection.AbstractConnection.__repr__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - pieces.append
    - redis.asyncio.connection.AbstractConnection.repr_pieces
    - redis.asyncio.connection.Connection.repr_pieces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 282
    functionName: redis.asyncio.connection.AbstractConnection.repr_pieces
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 799
    functionName: redis.asyncio.connection.Connection.repr_pieces
    functionSourceFile: redis.asyncio.connection
    functionUses: 1
    functionsReached:
    - pieces.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: redis.asyncio.connection.AbstractConnection.is_connected
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: redis.asyncio.connection.AbstractConnection.register_connect_callback
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - weakref.WeakMethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: redis.asyncio.connection.AbstractConnection.deregister_connect_callback
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - weakref.WeakMethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 320
    functionName: redis.asyncio.connection.AbstractConnection.connect
    functionSourceFile: redis.asyncio.connection
    functionUses: 538
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - asyncio.iscoroutinefunction
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: -1
    functionName: redis.asyncio.connection.AbstractConnection.connect.<lambda1>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14264a60>
    - <ast.Constant object at 0x7f6c14264490>
    argNames:
    - self
    - check_health
    - retry_socket_connect
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 331
    functionName: redis.asyncio.connection.AbstractConnection.connect_check_health
    functionSourceFile: redis.asyncio.connection
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.connection.AbstractConnection.connect.<lambda2>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.disconnect
    - async_timeout.timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - do
    - fail
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 37
    functionName: redis.asyncio.retry.Retry.call_with_retry
    functionSourceFile: redis.asyncio.retry
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - asyncio.iscoroutinefunction
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.utils.str_if_bytes
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.connection.AbstractConnection.connect_check_health.<lambda1>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.Connection._connect
    - writer.transport.get_extra_info
    - sock.setsockopt
    - asyncio.timeout
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - writer.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 808
    functionName: redis.asyncio.connection.Connection._connect
    functionSourceFile: redis.asyncio.connection
    functionUses: 556
    functionsReached:
    - writer.transport.get_extra_info
    - sock.setsockopt
    - asyncio.timeout
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - writer.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.connection.AbstractConnection.connect_check_health.<lambda2>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.disconnect
    - async_timeout.timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 14
    IfCount: 16
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c135031c0>
    argNames:
    - self
    - check_health
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 405
    functionName: redis.asyncio.connection.AbstractConnection.on_connect_check_health
    functionSourceFile: redis.asyncio.connection
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.utils.str_if_bytes
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - <builtin>.sum
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - AuthenticationError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.iscoroutinefunction
    functionSourceFile: asyncio
    functionUses: 558
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 378
    functionName: redis.asyncio.connection.AbstractConnection.mark_for_reconnect
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 384
    functionName: redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    functionSourceFile: redis.asyncio.connection
    functionUses: 579
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 388
    functionName: redis.asyncio.connection.AbstractConnection._connect
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 392
    functionName: redis.asyncio.connection.AbstractConnection._host_error
    functionSourceFile: redis.asyncio.connection
    functionUses: 560
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 395
    functionName: redis.asyncio.connection.AbstractConnection._error_message
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.format_error_message
    - redis.asyncio.connection.Connection._host_error
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 832
    functionName: redis.asyncio.connection.Connection._host_error
    functionSourceFile: ''
    functionUses: 560
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 398
    functionName: redis.asyncio.connection.AbstractConnection.get_protocol
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 401
    functionName: redis.asyncio.connection.AbstractConnection.on_connect
    functionSourceFile: redis.asyncio.connection
    functionUses: 1
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.utils.str_if_bytes
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - <builtin>.sum
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cred_provider.get_credentials_async
    functionSourceFile: <builtin>
    functionUses: 555
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 608
    functionName: redis.asyncio.connection.AbstractConnection.send_command
    functionSourceFile: redis.asyncio.connection
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - <builtin>.str
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - command.encode
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.get
    functionSourceFile: <builtin>
    functionUses: 556
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 545
    functionName: redis.asyncio.connection.AbstractConnection._send_ping
    functionSourceFile: redis.asyncio.connection
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.utils.str_if_bytes
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 551
    functionName: redis.asyncio.connection.AbstractConnection._ping_failed
    functionSourceFile: redis.asyncio.connection
    functionUses: 555
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.disconnect
    - async_timeout.timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 555
    functionName: redis.asyncio.connection.AbstractConnection.check_health
    functionSourceFile: redis.asyncio.connection
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - asyncio.iscoroutinefunction
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 563
    functionName: redis.asyncio.connection.AbstractConnection._send_packed_command
    functionSourceFile: redis.asyncio.connection
    functionUses: 555
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command.encode
    functionSourceFile: <builtin>
    functionUses: 555
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.wait_for
    functionSourceFile: asyncio
    functionUses: 565
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 614
    functionName: redis.asyncio.connection.AbstractConnection.can_read_destructive
    functionSourceFile: redis.asyncio.connection
    functionUses: 538
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - async_timeout.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 757
    functionName: redis.asyncio.connection.AbstractConnection._socket_is_empty
    functionSourceFile: redis.asyncio.connection
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 761
    functionName: redis.asyncio.connection.AbstractConnection.process_invalidation_messages
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection._socket_is_empty
    - redis.asyncio.connection.AbstractConnection.disconnect
    - <builtin>.isinstance
    - async_timeout.timeout
    - redis.asyncio.connection.AbstractConnection.read_response
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - <builtin>.len
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 765
    functionName: redis.asyncio.connection.AbstractConnection.set_re_auth_token
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 768
    functionName: redis.asyncio.connection.AbstractConnection.re_auth
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - <builtin>.str
    - kwargs.get
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - async_timeout.timeout
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 805
    functionName: redis.asyncio.connection.Connection._connection_arguments
    functionSourceFile: redis.asyncio.connection
    functionUses: 557
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.open_connection
    functionSourceFile: asyncio
    functionUses: 557
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: writer.transport.get_extra_info
    functionSourceFile: <builtin>
    functionUses: 557
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: writer.close
    functionSourceFile: <builtin>
    functionUses: 557
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1336cb80>
    - <ast.Constant object at 0x7f6c1336c7f0>
    - <ast.Constant object at 0x7f6c1336c4c0>
    - <ast.Constant object at 0x7f6c1336c880>
    - <ast.Constant object at 0x7f6c1336c040>
    - <ast.Constant object at 0x7f6c1336cd30>
    - <ast.Constant object at 0x7f6c1336c2b0>
    - <ast.Constant object at 0x7f6c1336c8b0>
    - <ast.Constant object at 0x7f6c1336ce20>
    - <ast.Constant object at 0x7f6c1336cc40>
    - <ast.Constant object at 0x7f6c1336cfa0>
    - <ast.Constant object at 0x7f6c1336c400>
    argNames:
    - self
    - ssl_keyfile
    - ssl_certfile
    - ssl_cert_reqs
    - ssl_include_verify_flags
    - ssl_exclude_verify_flags
    - ssl_ca_certs
    - ssl_ca_data
    - ssl_ca_path
    - ssl_check_hostname
    - ssl_min_version
    - ssl_ciphers
    - ssl_password
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 842
    functionName: redis.asyncio.connection.SSLConnection.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - redis.asyncio.connection.RedisSSLContext.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13dbc2b0>
    - <ast.Constant object at 0x7f6c13dbc520>
    - <ast.Constant object at 0x7f6c13dbc9a0>
    - <ast.Constant object at 0x7f6c13dbc1f0>
    - <ast.Constant object at 0x7f6c13dbcd90>
    - <ast.Constant object at 0x7f6c13dbc8b0>
    - <ast.Constant object at 0x7f6c13dbc160>
    - <ast.Constant object at 0x7f6c13dbce20>
    - <ast.Constant object at 0x7f6c13dbccd0>
    - <ast.Constant object at 0x7f6c13dbc850>
    - <ast.Constant object at 0x7f6c13dbc2e0>
    - <ast.Constant object at 0x7f6c13dbc970>
    argNames:
    - self
    - keyfile
    - certfile
    - cert_reqs
    - include_verify_flags
    - exclude_verify_flags
    - ca_certs
    - ca_data
    - ca_path
    - check_hostname
    - min_version
    - ciphers
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 936
    functionName: redis.asyncio.connection.RedisSSLContext.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 877
    functionName: redis.asyncio.connection.SSLConnection._connection_arguments
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 883
    functionName: redis.asyncio.connection.SSLConnection.keyfile
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 887
    functionName: redis.asyncio.connection.SSLConnection.certfile
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 891
    functionName: redis.asyncio.connection.SSLConnection.cert_reqs
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 895
    functionName: redis.asyncio.connection.SSLConnection.include_verify_flags
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 899
    functionName: redis.asyncio.connection.SSLConnection.exclude_verify_flags
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 903
    functionName: redis.asyncio.connection.SSLConnection.ca_certs
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 907
    functionName: redis.asyncio.connection.SSLConnection.ca_data
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 911
    functionName: redis.asyncio.connection.SSLConnection.check_hostname
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 915
    functionName: redis.asyncio.connection.SSLConnection.min_version
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 983
    functionName: redis.asyncio.connection.RedisSSLContext.get
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - ssl.create_default_context
    - context.load_verify_locations
    - context.load_cert_chain
    - context.set_ciphers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1015
    functionName: redis.asyncio.connection.UnixDomainSocketConnection.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1019
    functionName: redis.asyncio.connection.UnixDomainSocketConnection.repr_pieces
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - pieces.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1025
    functionName: redis.asyncio.connection.UnixDomainSocketConnection._connect
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.on_connect
    - cred_provider.get_credentials_async
    - <builtin>.tuple
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.utils.str_if_bytes
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - redis.asyncio.connection.AbstractConnection.check_health
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - async_timeout.timeout
    - <builtin>.sum
    - command.encode
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - asyncio.open_unix_connection
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.range
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.open_unix_connection
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1032
    functionName: redis.asyncio.connection.UnixDomainSocketConnection._host_error
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1039
    functionName: redis.asyncio.connection.to_bool
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.isinstance
    - value.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1047
    functionName: redis.asyncio.connection.parse_ssl_verify_flags
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    - verify_flags_str.split
    - verify_flags.append
    - flag.strip
    - value.replace
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.MappingProxyType
    functionSourceFile: types
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1228
    functionName: redis.asyncio.connection.ConnectionPool.__repr__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1236
    functionName: redis.asyncio.connection.ConnectionPool.reset
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - weakref.WeakSet
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.WeakSet
    functionSourceFile: weakref
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1240
    functionName: redis.asyncio.connection.ConnectionPool.can_get_connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.connection.ConnectionPool
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1265
    functionName: redis.asyncio.connection.ConnectionPool.get_available_connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 536
    functionsReached:
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.super
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.ConnectionPool.make_connection
    linkageType: pythonLinkage
    raised:
    - MaxConnectionsError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1289
    functionName: redis.asyncio.connection.ConnectionPool.ensure_connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 537
    functionsReached:
    - asyncio.sleep
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - <builtin>.str
    - asyncio.iscoroutinefunction
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1285
    functionName: redis.asyncio.connection.ConnectionPool.make_connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 537
    functionsReached:
    - <builtin>.int
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.should_reconnect
    functionSourceFile: typing
    functionUses: 550
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1340
    functionName: redis.asyncio.connection.ConnectionPool.update_active_connections_for_reconnect
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - conn.mark_for_reconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1348
    functionName: redis.asyncio.connection.ConnectionPool.aclose
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool.disconnect
    - <builtin>.next
    - <builtin>.isinstance
    - asyncio.gather
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1358
    functionName: redis.asyncio.connection.ConnectionPool.re_auth_callback
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - conn.retry.call_with_retry
    - conn.set_re_auth_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda1>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - conn.send_command
    - token.try_get
    - token.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda2>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool._mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1373
    functionName: redis.asyncio.connection.ConnectionPool._mock
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda3>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - conn.read_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda4>
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.asyncio.connection.ConnectionPool._mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138bc970>
    - <ast.Constant object at 0x7f6c138bc520>
    - <ast.Name object at 0x7f6c138bca90>
    - <ast.Attribute object at 0x7f6c138bc670>
    argNames:
    - self
    - max_connections
    - timeout
    - connection_class
    - queue_class
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1416
    functionName: redis.asyncio.connection.BlockingConnectionPool.__init__
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - asyncio.Condition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.Condition
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.connection.BlockingConnectionPool
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_args.decorator
    - functools.wraps
    - redis.utils.deprecated_args
    - inspect.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c138bc280>
    argNames:
    - self
    - command_name
    - keys
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1437
    functionName: redis.asyncio.connection.BlockingConnectionPool.get_connection
    functionSourceFile: redis.asyncio.connection
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - redis.asyncio.connection.BlockingConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.connect
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - <builtin>.super
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - asyncio.iscoroutinefunction
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1455
    functionName: redis.asyncio.connection.BlockingConnectionPool.release
    functionSourceFile: redis.asyncio.connection
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.auth
    functionSourceFile: redis.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.retry
    functionSourceFile: redis.asyncio.retry
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: redis.asyncio.retry.Retry.__eq__
    functionSourceFile: redis.asyncio.retry
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 49
    functionName: redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - dict.fromkeys
    - redis._parsers.helpers.string_keys_to_dict
    - key_string.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: redis._parsers.helpers.timestamp_to_datetime
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 17
    functionName: redis._parsers.helpers.parse_debug_object
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - response.split
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - kv.split
    - typing.Protocol.decode
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kv.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: redis._parsers.helpers.parse_info
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - item.rsplit
    - redis.utils.str_if_bytes
    - response.splitlines
    - <builtin>.isinstance
    - <builtin>.float
    - value.split
    - info.setdefault
    - redis._parsers.helpers.parse_info.get_value
    - typing.Protocol.decode
    - line.find
    - <builtin>.int
    - line.split
    - line.rsplit
    - line.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: redis._parsers.helpers.parse_info.get_value
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - item.rsplit
    - <builtin>.float
    - value.split
    - redis._parsers.helpers.parse_info.get_value
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.rsplit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.splitlines
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.find
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.split
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: redis._parsers.helpers.parse_memory_stats
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - key.startswith
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.isinstance
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - stats.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c147a7d60>
    - <ast.Constant object at 0x7f6c147a7880>
    argNames:
    - response
    - decode_keys
    - decode_string_values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: redis._parsers.helpers.pairs_to_dict
    functionSourceFile: redis._parsers.helpers
    functionUses: 34
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stats.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 124
    functionName: redis._parsers.helpers.parse_sentinel_state
    functionSourceFile: redis._parsers.helpers
    functionUses: 3
    functionsReached:
    - <builtin>.zip
    - <builtin>.set
    - <builtin>.iter
    - redis._parsers.helpers.pairs_to_dict_typed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - type_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: redis._parsers.helpers.pairs_to_dict_typed
    functionSourceFile: redis._parsers.helpers
    functionUses: 4
    functionsReached:
    - <builtin>.zip
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: redis._parsers.helpers.parse_sentinel_master
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis._parsers.helpers.pairs_to_dict_typed
    - <builtin>.map
    - <builtin>.iter
    - redis._parsers.helpers.parse_sentinel_state
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: redis._parsers.helpers.parse_sentinel_state_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.set
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: redis._parsers.helpers.parse_sentinel_masters
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis._parsers.helpers.pairs_to_dict_typed
    - <builtin>.map
    - <builtin>.iter
    - redis._parsers.helpers.parse_sentinel_state
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 165
    functionName: redis._parsers.helpers.parse_sentinel_masters_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - redis._parsers.helpers.parse_sentinel_state_resp3
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 169
    functionName: redis._parsers.helpers.parse_sentinel_slaves_and_sentinels
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis._parsers.helpers.pairs_to_dict_typed
    - <builtin>.map
    - <builtin>.iter
    - redis._parsers.helpers.parse_sentinel_state
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 173
    functionName: redis._parsers.helpers.parse_sentinel_slaves_and_sentinels_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - redis._parsers.helpers.parse_sentinel_state_resp3
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: redis._parsers.helpers.parse_sentinel_get_master
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: redis._parsers.helpers.zset_score_pairs
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.iter
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: redis._parsers.helpers.zset_score_for_rank
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 238
    functionName: redis._parsers.helpers.zset_score_pairs_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 249
    functionName: redis._parsers.helpers.zset_score_for_rank_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: redis._parsers.helpers.sort_return_tuples
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - options.get
    - <builtin>.list
    - <builtin>.range
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 271
    functionName: redis._parsers.helpers.parse_stream_list
    functionSourceFile: redis._parsers.helpers
    functionUses: 4
    functionsReached:
    - data.append
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 286
    functionName: redis._parsers.helpers.pairs_to_dict_with_str_keys
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: redis._parsers.helpers.parse_list_of_dicts
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 294
    functionName: redis._parsers.helpers.parse_xclaim
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - data.append
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - redis._parsers.helpers.parse_stream_list
    - <builtin>.iter
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 300
    functionName: redis._parsers.helpers.parse_xautoclaim
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - data.append
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - redis._parsers.helpers.parse_stream_list
    - <builtin>.iter
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 307
    functionName: redis._parsers.helpers.parse_xinfo_stream
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - response.items
    - redis._parsers.helpers.pairs_to_dict
    - group.items
    - <builtin>.iter
    - typing.Protocol.decode
    - data.get
    - options.get
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: group.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 338
    functionName: redis._parsers.helpers.parse_xread
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - data.append
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - redis._parsers.helpers.parse_stream_list
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 344
    functionName: redis._parsers.helpers.parse_xread_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - data.append
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - response.items
    - redis._parsers.helpers.pairs_to_dict
    - redis._parsers.helpers.parse_stream_list
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 352
    functionName: redis._parsers.helpers.parse_xpending
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - options.get
    - <builtin>.int
    - redis._parsers.helpers.parse_xpending_range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 364
    functionName: redis._parsers.helpers.parse_xpending_range
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 369
    functionName: redis._parsers.helpers.float_or_none
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 379
    functionName: redis._parsers.helpers.parse_zadd
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - options.get
    - <builtin>.int
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 387
    functionName: redis._parsers.helpers.parse_client_list
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - token.split
    - <builtin>.isinstance
    - typing.Protocol.decode
    - c.split
    - clients.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: clients.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 409
    functionName: redis._parsers.helpers.parse_config_get
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 419
    functionName: redis._parsers.helpers.parse_hscan
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - options.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: redis._parsers.helpers.parse_zscan
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.iter
    - options.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 436
    functionName: redis._parsers.helpers.parse_zmscore
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 441
    functionName: redis._parsers.helpers.parse_slowlog_get
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - space.join
    - <builtin>.len
    - options.get
    - <builtin>.int
    - redis._parsers.helpers.parse_slowlog_get.parse_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 444
    functionName: redis._parsers.helpers.parse_slowlog_get.parse_item
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - <builtin>.isinstance
    - space.join
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: space.join
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 470
    functionName: redis._parsers.helpers.parse_stralgo
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - typing.Protocol.decode
    - options.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 499
    functionName: redis._parsers.helpers.parse_cluster_info
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - redis.utils.str_if_bytes
    - response.splitlines
    - <builtin>.isinstance
    - typing.Protocol.decode
    - line.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 504
    functionName: redis._parsers.helpers._parse_node_line
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - line.split
    - migrations.append
    - slots.append
    - s_range.split
    - redis._parsers.helpers._parse_slots
    - <builtin>.len
    - addr.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addr.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - slot_ranges
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 527
    functionName: redis._parsers.helpers._parse_slots
    functionSourceFile: redis._parsers.helpers
    functionUses: 2
    functionsReached:
    - slots.append
    - s_range.split
    - migrations.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: migrations.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s_range.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: slots.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 547
    functionName: redis._parsers.helpers.parse_cluster_nodes
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - redis._parsers.helpers._parse_node_line
    - redis.utils.str_if_bytes
    - migrations.append
    - response.splitlines
    - slots.append
    - <builtin>.isinstance
    - s_range.split
    - redis._parsers.helpers._parse_slots
    - typing.Protocol.decode
    - <builtin>.len
    - addr.split
    - line.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 557
    functionName: redis._parsers.helpers.parse_geosearch_generic
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.parse_geosearch_generic.<dict1>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.parse_geosearch_generic.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.parse_geosearch_generic.<list2>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 593
    functionName: redis._parsers.helpers.parse_command
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - <builtin>.len
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 612
    functionName: redis._parsers.helpers.parse_command_resp3
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: redis._parsers.helpers.parse_pubsub_numsub
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 637
    functionName: redis._parsers.helpers.parse_client_kill
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 643
    functionName: redis._parsers.helpers.parse_acl_getuser
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.dict
    - <builtin>.zip
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - response.items
    - redis._parsers.helpers.pairs_to_dict
    - categories.append
    - <builtin>.iter
    - commands.append
    - typing.Protocol.decode
    - selector.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selector.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: categories.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 686
    functionName: redis._parsers.helpers.parse_acl_log
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - redis._parsers.helpers.parse_client_info
    - data.append
    - <builtin>.int
    - <builtin>.dict
    - redis._parsers.helpers.bool_ok
    - redis.utils.str_if_bytes
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.float
    - info.split
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - typing.Protocol.decode
    - log_data.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log_data.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 704
    functionName: redis._parsers.helpers.parse_client_info
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - info.split
    - typing.Protocol.decode
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 736
    functionName: redis._parsers.helpers.parse_set_result
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - options.get
    - <builtin>.isinstance
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - key_string
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 750
    functionName: redis._parsers.helpers.string_keys_to_dict
    functionSourceFile: redis._parsers.helpers
    functionUses: 1
    functionsReached:
    - dict.fromkeys
    - key_string.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_string.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict2>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.set
    - redis.utils.str_if_bytes
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict2>.<lambda2>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda2>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict2>.<lambda3>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda3>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - x.items
    - redis._parsers.helpers.bool_ok
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - <builtin>.tuple
    - typing.Protocol.decode
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda2>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda3>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda4>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda4>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - r.items
    - <builtin>.float
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda5>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda5>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - r.items
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda6>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda6>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - r.items
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda7>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda7>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - x.items
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - typing.Protocol.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda8>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda8>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.utils.str_if_bytes
    - <builtin>.map
    - <builtin>.isinstance
    - typing.Protocol.decode
    - d.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda9>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda9>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda10>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda10>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda11>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda11>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda12>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda12>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda13>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda13>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda13>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda13>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda14>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda14>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda15>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda15>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict3>.<lambda16>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<lambda16>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda1>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda2>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda3>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda4>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda5>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda6>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda7>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.helpers.<dict4>.<lambda8>
    functionSourceFile: redis._parsers.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.lock
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 160
    functionName: redis.asyncio.lock.Lock.register_scripts
    functionSourceFile: redis.asyncio.lock
    functionUses: 3
    functionsReached:
    - redis.commands.core.AsyncScriptCommands.register_script
    - redis.commands.core.AsyncScript.__init__
    - <builtin>.isinstance
    - redis.asyncio.client.Redis.get_encoder
    - encoder.encode
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - hashlib.sha1
    - kwargs.get
    - redis.asyncio.cluster.RedisCluster.get_encoder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 170
    functionName: redis.asyncio.lock.Lock.__aenter__
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.asyncio.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - uuid.uuid1
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.lock.Lock.acquire
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - redis.asyncio.lock.Lock.do_acquire
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.asyncio.cluster.RedisCluster.get_encoder
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d8e8e0>
    - <ast.Constant object at 0x7f6c12d8eaf0>
    - <ast.Constant object at 0x7f6c12d8eb20>
    argNames:
    - self
    - blocking
    - blocking_timeout
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 185
    functionName: redis.asyncio.lock.Lock.acquire
    functionSourceFile: redis.asyncio.lock
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.asyncio.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - uuid.uuid1
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - redis.asyncio.lock.Lock.do_acquire
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.asyncio.cluster.RedisCluster.get_encoder
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 175
    functionName: redis.asyncio.lock.Lock.__aexit__
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.asyncio.lock.Lock.do_release
    - logger.warning
    - redis.asyncio.lock.Lock.release
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 266
    functionName: redis.asyncio.lock.Lock.release
    functionSourceFile: redis.asyncio.lock
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - redis.asyncio.lock.Lock.do_release
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 234
    functionName: redis.asyncio.lock.Lock.do_acquire
    functionSourceFile: redis.asyncio.lock
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - ex.total_seconds
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - px.total_seconds
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - exp_options.extend
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.commands.helpers.at_most_one_value_set
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - exp_options.append
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - pxat.timestamp
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - ex.isdigit
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.utils.extract_expire_flags
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - exat.timestamp
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.commands.core.BasicKeyCommands.set
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 244
    functionName: redis.asyncio.lock.Lock.locked
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.commands.core.BasicKeyCommands.get
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 250
    functionName: redis.asyncio.lock.Lock.owned
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.asyncio.client.Redis.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.commands.core.BasicKeyCommands.get
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - encoder.encode
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.asyncio.connection.ConnectionPool.get_encoder
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.asyncio.cluster.RedisCluster.get_encoder
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expected_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 288
    functionName: redis.asyncio.lock.Lock.do_release
    functionSourceFile: redis.asyncio.lock
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised:
    - LockNotOwnedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137f4940>
    argNames:
    - self
    - additional_time
    - replace_ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 296
    functionName: redis.asyncio.lock.Lock.extend
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis.asyncio.lock.Lock.do_extend
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - additional_time
    - replace_ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 315
    functionName: redis.asyncio.lock.Lock.do_extend
    functionSourceFile: redis.asyncio.lock
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockNotOwnedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: redis.asyncio.lock.Lock.reacquire
    functionSourceFile: redis.asyncio.lock
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.int
    - redis.asyncio.lock.Lock.do_reacquire
    linkageType: pythonLinkage
    raised:
    - LockError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 337
    functionName: redis.asyncio.lock.Lock.do_reacquire
    functionSourceFile: redis.asyncio.lock
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - LockNotOwnedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio
    functionSourceFile: redis.asyncio
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.utils
    functionSourceFile: redis.asyncio.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 7
    functionName: redis.asyncio.utils.from_url
    functionSourceFile: redis.asyncio.utils
    functionUses: 0
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - redis.asyncio.connection.ConnectionPool.from_url
    - importlib.metadata.version
    - urllib.parse.unquote.replace
    - urllib.parse.unquote
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - redis.asyncio.client.Redis.from_url
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - urllib.parse.parse_qs
    - <builtin>.type
    - URL_QUERY_ARGUMENT_PARSERS.get
    - <builtin>.isinstance
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - warnings.warn
    - <builtin>.len
    - <builtin>.int
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - redis.asyncio.connection.parse_url
    - urllib.parse.parse_qs.items
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.asyncio.client.Redis.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - urllib.parse.urlparse
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - redis_obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: redis.asyncio.utils.pipeline.__init__
    functionSourceFile: redis.asyncio.utils
    functionUses: 0
    functionsReached:
    - redis_obj.pipeline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: redis.asyncio.utils.pipeline.__aenter__
    functionSourceFile: redis.asyncio.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: redis.asyncio.utils.pipeline.__aexit__
    functionSourceFile: redis.asyncio.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.sentinel
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: redis.asyncio.sentinel.SentinelManagedConnection.__init__
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: redis.asyncio.sentinel.SentinelManagedConnection.__repr__
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - address
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 42
    functionName: redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 554
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - typing.Protocol.decode
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 62
    functionName: redis.asyncio.sentinel.SentinelManagedConnection.connect
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - typing.Protocol.decode
    - kwargs.get
    - asyncio.iscoroutinefunction
    - <builtin>.str
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.utils.str_if_bytes
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - SYM_EMPTY.join
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - asyncio.get_running_loop
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - sock.setsockopt
    - asyncio.wait_for
    - <builtin>.map
    - <builtin>.isinstance
    - <builtin>.range
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - async_timeout.timeout
    - asyncio.open_connection
    - redis.asyncio.connection.Connection._connection_arguments
    - command.encode
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.int
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - writer.close
    - writer.transport.get_extra_info
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - output.append
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - response.get
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.sentinel.SentinelManagedConnection.connect.<lambda1>
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1439b550>
    - <ast.Constant object at 0x7f6c1439b430>
    argNames:
    - self
    - disable_decoding
    - timeout
    - disconnect_on_error
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: redis.asyncio.sentinel.SentinelManagedConnection.read_response
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - asyncio.timeout
    - redis.asyncio.connection.AbstractConnection.disconnect
    - async_timeout.timeout
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - service_name
    - sentinel_manager
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: redis.asyncio.sentinel.SentinelConnectionPool.__init__
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 2
    functionsReached:
    - weakref.proxy
    - kwargs.pop
    - <builtin>.super
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.proxy
    functionSourceFile: weakref
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: redis.asyncio.sentinel.SentinelConnectionPool.__repr__
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: redis.asyncio.sentinel.SentinelConnectionPool.reset
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: redis.asyncio.sentinel.SentinelConnectionPool.owns_connection
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 142
    functionName: redis.asyncio.sentinel.SentinelConnectionPool.get_master_address
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 1
    functionsReached:
    - redis.asyncio.sentinel.Sentinel.discover_master
    - <builtin>.list
    - collected_errors.append
    - masters.get
    - redis.asyncio.connection.ConnectionPool.disconnect
    - <builtin>.next
    - <builtin>.enumerate
    - <builtin>.isinstance
    - redis.asyncio.sentinel.Sentinel.check_master_state
    - <builtin>.len
    - asyncio.gather
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: redis.asyncio.sentinel.Sentinel.discover_master
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 2
    functionsReached:
    - collected_errors.append
    - <builtin>.list
    - masters.get
    - <builtin>.enumerate
    - redis.asyncio.sentinel.Sentinel.check_master_state
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - MasterNotFoundError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 152
    functionName: redis.asyncio.sentinel.SentinelConnectionPool.rotate_slaves
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - redis.asyncio.sentinel.Sentinel.discover_master
    - masters.get
    - <builtin>.enumerate
    - slaves_alive.append
    - sentinel.sentinel_slaves
    - collected_errors.append
    - redis.asyncio.sentinel.Sentinel.discover_slaves
    - random.randint
    - redis.asyncio.sentinel.Sentinel.check_master_state
    - itertools.chain
    - redis.asyncio.sentinel.Sentinel.filter_slaves
    - <builtin>.list
    - <builtin>.isinstance
    - redis.asyncio.sentinel.SentinelConnectionPool.get_master_address
    - <builtin>.len
    - asyncio.gather
    - redis.asyncio.connection.ConnectionPool.disconnect
    - <builtin>.next
    - <builtin>.range
    linkageType: pythonLinkage
    raised:
    - SlaveNotFoundError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 321
    functionName: redis.asyncio.sentinel.Sentinel.discover_slaves
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 1
    functionsReached:
    - sentinel.sentinel_slaves
    - slaves_alive.append
    - redis.asyncio.sentinel.Sentinel.filter_slaves
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c57250>
    - <ast.Constant object at 0x7f6c13c57190>
    - <ast.Constant object at 0x7f6c13c57280>
    argNames:
    - self
    - sentinels
    - min_other_sentinels
    - sentinel_kwargs
    - force_master_ip
    - connection_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 199
    functionName: redis.asyncio.sentinel.Sentinel.__init__
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - <builtin>.super
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - connection_kwargs.items
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - k.startswith
    - warnings.warn
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.asyncio.client.Redis.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: redis.asyncio.sentinel.Sentinel.execute_command
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.all
    - random.choice
    - kwargs.pop
    - asyncio.gather
    - asyncio.Task
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.Task
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: redis.asyncio.sentinel.Sentinel.__repr__
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - sentinel_addresses.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - state
    - service_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: redis.asyncio.sentinel.Sentinel.check_master_state
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slaves
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 310
    functionName: redis.asyncio.sentinel.Sentinel.filter_slaves
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 2
    functionsReached:
    - slaves_alive.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f6c13af1580>
    - <ast.Name object at 0x7f6c13af1100>
    argNames:
    - self
    - service_name
    - redis_class
    - connection_pool_class
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 335
    functionName: redis.asyncio.sentinel.Sentinel.master_for
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - redis.asyncio.sentinel.SentinelConnectionPool.__init__
    - importlib.metadata.version
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.asyncio.client.Redis.from_pool
    - threading.Lock
    - <builtin>.super
    - kwargs.get
    - <builtin>.dict
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - connection_kwargs.update
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - kwargs.pop
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - warnings.warn
    - weakref.proxy
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.asyncio.client.Redis.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f6c13af1040>
    - <ast.Name object at 0x7f6c13af1910>
    argNames:
    - self
    - service_name
    - redis_class
    - connection_pool_class
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 374
    functionName: redis.asyncio.sentinel.Sentinel.slave_for
    functionSourceFile: redis.asyncio.sentinel
    functionUses: 0
    functionsReached:
    - redis.driver_info.resolve_driver_info
    - redis.asyncio.sentinel.SentinelConnectionPool.__init__
    - importlib.metadata.version
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.asyncio.client.Redis.from_pool
    - threading.Lock
    - <builtin>.super
    - kwargs.get
    - <builtin>.dict
    - copy.deepcopy
    - <builtin>.DeprecationWarning
    - abc.ABC.__init__
    - kwargs.update
    - connection_kwargs.update
    - abc.ABC._event_listeners_mapping.get
    - redis.asyncio.connection.ConnectionPool.__init__
    - redis.utils.get_lib_version
    - kwargs.pop
    - redis.event.EventDispatcher.register_listeners
    - asyncio.Lock
    - <builtin>.list
    - redis.event.EventDispatcher.dispatch
    - <builtin>.type
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - <builtin>.isinstance
    - k.upper
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.event.EventDispatcher.__init__
    - warnings.warn
    - weakref.proxy
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.asyncio.client.Redis.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.client.CaseInsensitiveDict.update
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.maint_notifications
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: redis.maint_notifications.EndpointType.__str__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - id
    - ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: redis.maint_notifications.MaintenanceNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: redis.maint_notifications.MaintenanceNotification.is_expired
    functionSourceFile: redis.maint_notifications
    functionUses: 7
    functionsReached:
    - time.monotonic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.maint_notifications.MaintenanceNotification
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: redis.maint_notifications.MaintenanceNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: redis.maint_notifications.MaintenanceNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 111
    functionName: redis.maint_notifications.MaintenanceNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - id
    - new_node_host
    - new_node_port
    - ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: redis.maint_notifications.NodeMovingNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 150
    functionName: redis.maint_notifications.NodeMovingNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: redis.maint_notifications.NodeMovingNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 180
    functionName: redis.maint_notifications.NodeMovingNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - id
    - ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: redis.maint_notifications.NodeMigratingNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 219
    functionName: redis.maint_notifications.NodeMigratingNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: redis.maint_notifications.NodeMigratingNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: redis.maint_notifications.NodeMigratingNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 266
    functionName: redis.maint_notifications.NodeMigratedNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 269
    functionName: redis.maint_notifications.NodeMigratedNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: redis.maint_notifications.NodeMigratedNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: redis.maint_notifications.NodeMigratedNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - id
    - ttl
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 315
    functionName: redis.maint_notifications.NodeFailingOverNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 318
    functionName: redis.maint_notifications.NodeFailingOverNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: redis.maint_notifications.NodeFailingOverNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 341
    functionName: redis.maint_notifications.NodeFailingOverNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: redis.maint_notifications.NodeFailedOverNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 368
    functionName: redis.maint_notifications.NodeFailedOverNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 382
    functionName: redis.maint_notifications.NodeFailedOverNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 391
    functionName: redis.maint_notifications.NodeFailedOverNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12dc5910>
    argNames:
    - self
    - id
    - slots
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 416
    functionName: redis.maint_notifications.OSSNodeMigratingNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 424
    functionName: redis.maint_notifications.OSSNodeMigratingNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 439
    functionName: redis.maint_notifications.OSSNodeMigratingNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 448
    functionName: redis.maint_notifications.OSSNodeMigratingNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - id
    - nodes_to_slots_mapping
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 491
    functionName: redis.maint_notifications.OSSNodeMigratedNotification.__init__
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 499
    functionName: redis.maint_notifications.OSSNodeMigratedNotification.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - time.monotonic
    - <builtin>.max
    - redis.maint_notifications.MaintenanceNotification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 514
    functionName: redis.maint_notifications.OSSNodeMigratedNotification.__eq__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 523
    functionName: redis.maint_notifications.OSSNodeMigratedNotification.__hash__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - host
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 534
    functionName: redis.maint_notifications._is_private_fqdn
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - host.lower
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.search
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - connection
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 574
    functionName: redis.maint_notifications.add_debug_log_for_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 3
    functionsReached:
    - connection._sock.getsockname
    - redis.connection.CacheProxyConnection.get_resolved_ip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - logger.isEnabledFor
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 639
    functionName: redis.maint_notifications.MaintNotificationsConfig.__repr__
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 649
    functionName: redis.maint_notifications.MaintNotificationsConfig.is_relaxed_timeouts_enabled
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - host
    - connection
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 660
    functionName: redis.maint_notifications.MaintNotificationsConfig.get_endpoint_type
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - host.lower
    - re.search
    - connection.get_resolved_ip
    - redis.maint_notifications._is_private_fqdn
    - ipaddress.ip_address
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.ip_address
    functionSourceFile: ipaddress
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.get_resolved_ip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 727
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.set_connection
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 730
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.get_handler_for_connection
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - <builtin>.set
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 740
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.remove_expired_notifications
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - <builtin>.tuple
    - notification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: notification.is_expired
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 746
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.handle_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - notification.is_expired
    - <builtin>.hash
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_kwargs
    - redis.connection.ConnectionPool._get_in_use_connections
    - conn.update_current_socket_timeout
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - kwargs.update
    - threading.Timer
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connections_settings
    - <builtin>.getattr
    - redis.connection.ConnectionPool._get_free_connections
    - conn.reset_tmp_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_settings
    - conn.disconnect
    - redis.connection.ConnectionPool._get_pool_lock
    - conn.getpeername
    - <builtin>.isinstance
    - conn.set_tmp_settings
    - logger.error
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - logger.debug
    - conn.mark_for_reconnect
    - redis.maint_notifications.MaintNotificationsPoolHandler.remove_expired_notifications
    - redis.maint_notifications.MaintNotificationsPoolHandler.run_proactive_reconnect
    - redis.maint_notifications.MaintNotificationsPoolHandler.handle_node_moving_notification
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 11
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 754
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.handle_node_moving_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - <builtin>.hash
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_kwargs
    - redis.connection.ConnectionPool._get_in_use_connections
    - conn.update_current_socket_timeout
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - kwargs.update
    - threading.Timer
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connections_settings
    - <builtin>.getattr
    - redis.connection.ConnectionPool._get_free_connections
    - conn.reset_tmp_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_settings
    - conn.disconnect
    - conn.getpeername
    - conn.set_tmp_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - logger.debug
    - conn.mark_for_reconnect
    - redis.maint_notifications.MaintNotificationsPoolHandler.run_proactive_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool._get_pool_lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.error
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14829d60>
    argNames:
    - self
    - moving_address_src
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 850
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.run_proactive_reconnect
    functionSourceFile: redis.maint_notifications
    functionUses: 2
    functionsReached:
    - conn.mark_for_reconnect
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.connection.ConnectionPool._get_free_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - conn.disconnect
    - conn.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Timer
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 869
    functionName: redis.maint_notifications.MaintNotificationsPoolHandler.handle_node_moved_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connections_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_kwargs
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.connection.ConnectionPool._get_free_connections
    - conn.set_tmp_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - conn.reset_tmp_settings
    - conn.update_current_socket_timeout
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_settings
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - logger.debug
    - redis.connection.ConnectionPool._get_pool_lock
    - conn.getpeername
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 940
    functionName: redis.maint_notifications.MaintNotificationsConnectionHandler.handle_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection._sock.getsockname
    - redis.connection.CacheProxyConnection.get_resolved_ip
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.connection.MaintNotificationsAbstractConnection.set_tmp_settings
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.update_current_socket_timeout
    - redis.maint_notifications.MaintNotificationsConnectionHandler.handle_maintenance_start_notification
    - logger.error
    - redis.connection.MaintNotificationsAbstractConnection.add_maint_start_notification
    - redis.maint_notifications.add_debug_log_for_notification
    - <builtin>.str
    - redis.connection.CacheProxyConnection.set_tmp_settings
    - logger.isEnabledFor
    - logger.debug
    - redis.maint_notifications.MaintNotificationsConnectionHandler.handle_maintenance_completed_notification
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - maintenance_state
    - notification
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 955
    functionName: redis.maint_notifications.MaintNotificationsConnectionHandler.handle_maintenance_start_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - connection._sock.getsockname
    - redis.connection.CacheProxyConnection.get_resolved_ip
    - redis.connection.MaintNotificationsAbstractConnection.set_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.update_current_socket_timeout
    - redis.connection.MaintNotificationsAbstractConnection.add_maint_start_notification
    - redis.maint_notifications.add_debug_log_for_notification
    - <builtin>.str
    - redis.connection.CacheProxyConnection.set_tmp_settings
    - logger.isEnabledFor
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 978
    functionName: redis.maint_notifications.MaintNotificationsConnectionHandler.handle_maintenance_completed_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - connection._sock.getsockname
    - redis.connection.CacheProxyConnection.get_resolved_ip
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - <builtin>.isinstance
    - redis.connection.CacheProxyConnection.update_current_socket_timeout
    - redis.maint_notifications.add_debug_log_for_notification
    - logger.isEnabledFor
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1008
    functionName: redis.maint_notifications.OSSMaintNotificationsHandler.get_handler_for_connection
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - redis.maint_notifications.OSSMaintNotificationsHandler.__init__
    - <builtin>.set
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1018
    functionName: redis.maint_notifications.OSSMaintNotificationsHandler.remove_expired_notifications
    functionSourceFile: redis.maint_notifications
    functionUses: 2
    functionsReached:
    - <builtin>.tuple
    - notification.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 1024
    functionName: redis.maint_notifications.OSSMaintNotificationsHandler.handle_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - nodes_for_slot.append
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - threading.Lock
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - num_versions2.append
    - redis.connection.Connection._host_error
    - time.monotonic
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - kwargs.update
    - maint_notifications_config.get_endpoint_type
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - notification.is_expired
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - affected_nodes.add
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.maint_notifications.OSSMaintNotificationsHandler.remove_expired_notifications
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - current_node.redis_connection.connection_pool._get_in_use_connections
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - logger.error
    - redis.connection.CacheProxyConnection.register_connect_callback
    - dest_mapping.keys
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - additional_startup_nodes_info.append
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - notification.nodes_to_slots_mapping.items
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.maint_notifications.OSSMaintNotificationsHandler.handle_oss_maintenance_completed_notification
    - dest_address.split
    - redis.sentinel.SentinelConnectionPool.reset
    - abc.ABC.__init__
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - all_nodes.union
    - redis.event.EventDispatcher.__init__
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager._get_epoch
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - src_address.split
    - redis.cluster.is_debug_log_enabled
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - current_node.redis_connection.connection_pool._get_free_connections
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 10
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - notification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 1030
    functionName: redis.maint_notifications.OSSMaintNotificationsHandler.handle_oss_maintenance_completed_notification
    functionSourceFile: redis.maint_notifications
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.cache.CacheEntry.__init__
    - nodes_for_slot.append
    - conn.connect
    - redis.client.Redis._close_connection
    - redis.cluster.NodesManager.reset
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - num_versions2.append
    - time.monotonic
    - threading.Lock
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.cluster.NodesManager.remap_host_port
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - kwargs.update
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.retry.Retry.__init__
    - redis.connection.ConnectionPool._get_free_connections
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.utils.check_protocol_version
    - redis.connection.AbstractConnection.send_command
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - weakref.WeakMethod
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - conn.mark_for_reconnect
    - threading.RLock
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.backoff.NoBackoff.__init__
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - notification.is_expired
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - disagreements.append
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.event.RegisterReAuthForPubSub.__init__
    - <builtin>.super
    - redis.cluster.NodesManager.create_redis_connections
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - socket.gethostbyname
    - entry.connection_ref.read_response
    - affected_nodes.add
    - redis.utils.get_lib_version
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - sock.close
    - redis.maint_notifications.OSSMaintNotificationsHandler.remove_expired_notifications
    - collections.OrderedDict
    - conn.disconnect
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - current_node.redis_connection.connection_pool._get_in_use_connections
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.CacheProxyConnection.register_connect_callback
    - dest_mapping.keys
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.cluster.LoadBalancer.reset
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - redis.client.CaseInsensitiveDict.update
    - redis.cache.CacheConfig.get_eviction_policy
    - <builtin>.range
    - redis.cache.DefaultCache.__init__
    - connection_pools.append
    - redis.driver_info.resolve_driver_info
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - additional_startup_nodes_info.append
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - notification.nodes_to_slots_mapping.items
    - redis.connection.Connection._connect
    - redis.cache.CacheFactory.get_cache
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - abc.ABC.__init__
    - dest_address.split
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.event.EventDispatcher.dispatch
    - redis.cluster.get_node_name
    - conn.should_reconnect
    - redis.client.Redis.__init__
    - redis.cache.CacheConfig.__init__
    - redis.connection.ConnectionPool.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - all_nodes.union
    - redis.event.EventDispatcher.__init__
    - version2.split
    - redis.client.Pipeline.execute_command
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - redis.client.Redis._execute_command
    - listener.listen
    - redis.client.CaseInsensitiveDict.__init__
    - output.append
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager.create_redis_node
    - redis.cluster.NodesManager._get_epoch
    - cred_provider.get_credentials
    - <builtin>.tuple
    - redis.connection.ConnectionPool._get_pool_lock
    - <builtin>.set
    - src_address.split
    - redis.cluster.is_debug_log_enabled
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - conn.getpeername
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.cluster.ClusterNode.__init__
    - redis.connection.ConnectionPool.get_protocol
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - conn.retry.call_with_retry
    - redis.cache.CacheConfig.get_cache_class
    - tmp_nodes_cache.get
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - current_node.redis_connection.connection_pool._get_free_connections
    - socket.getaddrinfo
    - redis.event.AfterConnectionReleasedEvent.__init__
    - tmp_nodes_cache.values
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.connection.AbstractConnection.connect_check_health
    - redis.cluster.NodesManager.get_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: notification.nodes_to_slots_mapping.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: src_address.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: affected_nodes.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dest_mapping.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dest_address.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: additional_startup_nodes_info.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: all_nodes.union
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_node.redis_connection.connection_pool._get_in_use_connections
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_node.redis_connection.connection_pool._get_free_connections
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.resp3
    functionSourceFile: redis._parsers.resp3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: redis._parsers.resp3._RESP3Parser.__init__
    functionSourceFile: redis._parsers.resp3
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: redis._parsers.resp3._RESP3Parser.handle_pubsub_push_response
    functionSourceFile: redis._parsers.resp3
    functionUses: 4
    functionsReached:
    - logging.getLogger
    - logging.getLogger.debug
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137f4610>
    - <ast.Constant object at 0x7f6c137f4e80>
    argNames:
    - self
    - disable_decoding
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 31
    functionName: redis._parsers.resp3._RESP3Parser.read_response
    functionSourceFile: redis._parsers.resp3
    functionUses: 0
    functionsReached:
    - response.split
    - sock.recv
    - <builtin>.str
    - logging.getLogger.debug
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    - buf.seek
    - redis._parsers.resp3._RESP3Parser.handle_pubsub_push_response
    - redis._parsers.base.BaseParser.parse_error
    - <builtin>.float
    - buf.write
    - sock.settimeout
    - buf.tell
    - response.decode
    - redis._parsers.base.PushNotificationsParser.handle_push_response
    - redis._parsers.socket.SocketBuffer.readline
    - redis._parsers.socket.SocketBuffer.get_pos
    - redis._parsers.socket.SocketBuffer.unread_bytes
    - msg_type.decode
    - <builtin>.isinstance
    - buf.readline
    - redis._parsers.socket.SocketBuffer.rewind
    - exception_class.get
    - logging.getLogger
    - logger.error
    - redis._parsers.socket.SocketBuffer.purge
    - redis._parsers.resp3._RESP3Parser._read_response
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - redis._parsers.socket.SocketBuffer.read
    - redis._parsers.hiredis._HiredisParser.handle_pubsub_push_response
    - data.endswith
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 0
    IfCount: 17
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12f2dee0>
    - <ast.Constant object at 0x7f6c12f2d8e0>
    argNames:
    - self
    - disable_decoding
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 45
    functionName: redis._parsers.resp3._RESP3Parser._read_response
    functionSourceFile: redis._parsers.resp3
    functionUses: 1
    functionsReached:
    - response.split
    - sock.recv
    - <builtin>.str
    - logging.getLogger.debug
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    - buf.seek
    - redis._parsers.resp3._RESP3Parser.handle_pubsub_push_response
    - redis._parsers.base.BaseParser.parse_error
    - <builtin>.float
    - buf.write
    - sock.settimeout
    - buf.tell
    - response.decode
    - redis._parsers.base.PushNotificationsParser.handle_push_response
    - redis._parsers.socket.SocketBuffer.readline
    - msg_type.decode
    - <builtin>.isinstance
    - buf.readline
    - exception_class.get
    - logging.getLogger
    - logger.error
    - redis._parsers.resp3._RESP3Parser._read_response
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - redis._parsers.socket.SocketBuffer.read
    - redis._parsers.hiredis._HiredisParser.handle_pubsub_push_response
    - data.endswith
    - <builtin>.range
    linkageType: pythonLinkage
    raised:
    - InvalidResponse
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: redis._parsers.resp3._AsyncRESP3Parser.__init__
    functionSourceFile: redis._parsers.resp3
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: redis._parsers.resp3._AsyncRESP3Parser.handle_pubsub_push_response
    functionSourceFile: redis._parsers.resp3
    functionUses: 4
    functionsReached:
    - logging.getLogger
    - logging.getLogger.debug
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13386df0>
    - <ast.Constant object at 0x7f6c13386e80>
    argNames:
    - self
    - disable_decoding
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 152
    functionName: redis._parsers.resp3._AsyncRESP3Parser.read_response
    functionSourceFile: redis._parsers.resp3
    functionUses: 0
    functionsReached:
    - response.split
    - redis._parsers.base._AsyncRESPBase._readline
    - redis._parsers.resp3._AsyncRESP3Parser.handle_pubsub_push_response
    - <builtin>.str
    - logging.getLogger.debug
    - redis._parsers.resp3._AsyncRESP3Parser._read_response
    - redis._parsers.base.BaseParser.parse_error
    - <builtin>.float
    - response.decode
    - msg_type.decode
    - redis._parsers.base.AsyncPushNotificationsParser.handle_push_response
    - redis._parsers.base._AsyncRESPBase._read
    - <builtin>.isinstance
    - logging.getLogger
    - exception_class.get
    - logger.error
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.base._AsyncRESPBase._clear
    - redis._parsers.hiredis._AsyncHiredisParser.handle_pubsub_push_response
    - data.endswith
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 1
    IfCount: 17
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13386e50>
    - <ast.Constant object at 0x7f6c13386160>
    argNames:
    - self
    - disable_decoding
    - push_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 167
    functionName: redis._parsers.resp3._AsyncRESP3Parser._read_response
    functionSourceFile: redis._parsers.resp3
    functionUses: 1
    functionsReached:
    - response.split
    - redis._parsers.base._AsyncRESPBase._readline
    - redis._parsers.resp3._AsyncRESP3Parser.handle_pubsub_push_response
    - <builtin>.str
    - logging.getLogger.debug
    - redis._parsers.resp3._AsyncRESP3Parser._read_response
    - redis._parsers.base.BaseParser.parse_error
    - <builtin>.float
    - response.decode
    - msg_type.decode
    - redis._parsers.base.AsyncPushNotificationsParser.handle_push_response
    - redis._parsers.base._AsyncRESPBase._read
    - <builtin>.isinstance
    - logging.getLogger
    - exception_class.get
    - logger.error
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.base._AsyncRESPBase._clear
    - redis._parsers.hiredis._AsyncHiredisParser.handle_pubsub_push_response
    - data.endswith
    - <builtin>.range
    linkageType: pythonLinkage
    raised:
    - InvalidResponse
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.base
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exception_class.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: redis._parsers.base.BaseParser.on_disconnect
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 124
    functionName: redis._parsers.base.BaseParser.on_connect
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: redis._parsers.base._RESPBase.__init__
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 137
    functionName: redis._parsers.base._RESPBase.__del__
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - redis._parsers.base._RESPBase.on_disconnect
    - redis._parsers.socket.SocketBuffer.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: redis._parsers.base._RESPBase.on_disconnect
    functionSourceFile: redis._parsers.base
    functionUses: 1
    functionsReached:
    - redis._parsers.socket.SocketBuffer.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: redis._parsers.base._RESPBase.on_connect
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - redis._parsers.socket.SocketBuffer.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - socket
    - socket_read_size
    - socket_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: redis._parsers.socket.SocketBuffer.__init__
    functionSourceFile: redis._parsers.socket
    functionUses: 1
    functionsReached:
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 151
    functionName: redis._parsers.socket.SocketBuffer.close
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 159
    functionName: redis._parsers.base._RESPBase.can_read
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - redis._parsers.socket.SocketBuffer.unread_bytes
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - buf.seek
    - sock.recv
    - <builtin>.isinstance
    - buf.write
    - sock.settimeout
    - buf.tell
    - <builtin>.len
    - redis._parsers.socket.SocketBuffer.can_read
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 94
    functionName: redis._parsers.socket.SocketBuffer.can_read
    functionSourceFile: redis._parsers.socket
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - redis._parsers.socket.SocketBuffer.unread_bytes
    - redis._parsers.socket.SocketBuffer._read_from_socket
    - buf.seek
    - sock.recv
    - <builtin>.isinstance
    - buf.write
    - sock.settimeout
    - buf.tell
    - <builtin>.len
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: redis._parsers.base.AsyncBaseParser.__init__
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: redis._parsers.base.AsyncBaseParser.can_read_destructive
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e8bca0>
    argNames:
    - self
    - disable_decoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 175
    functionName: redis._parsers.base.AsyncBaseParser.read_response
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 185
    functionName: redis._parsers.base.MaintenanceNotificationsParser.parse_oss_maintenance_start_msg
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - redis.maint_notifications.OSSNodeMigratingNotification.__init__
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.super
    - typing.Protocol.decode
    - redis.utils.safe_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 193
    functionName: redis._parsers.base.MaintenanceNotificationsParser.parse_oss_maintenance_completed_msg
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - redis.maint_notifications.OSSNodeMigratedNotification.__init__
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.super
    - typing.Protocol.decode
    - redis.utils.safe_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - notification_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 219
    functionName: redis._parsers.base.MaintenanceNotificationsParser.parse_maintenance_start_msg
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - notification_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 229
    functionName: redis._parsers.base.MaintenanceNotificationsParser.parse_maintenance_completed_msg
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 238
    functionName: redis._parsers.base.MaintenanceNotificationsParser.parse_moving_msg
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - redis.maint_notifications.NodeMovingNotification.__init__
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - value.split
    - <builtin>.str
    - <builtin>.super
    - typing.Protocol.decode
    - redis.utils.safe_str
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 312
    functionName: redis._parsers.base.PushNotificationsParser.handle_pubsub_push_response
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg_type.decode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pubsub_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 379
    functionName: redis._parsers.base.PushNotificationsParser.set_pubsub_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - invalidation_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 382
    functionName: redis._parsers.base.PushNotificationsParser.set_invalidation_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_moving_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 385
    functionName: redis._parsers.base.PushNotificationsParser.set_node_moving_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - maintenance_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 388
    functionName: redis._parsers.base.PushNotificationsParser.set_maintenance_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - oss_cluster_maint_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 391
    functionName: redis._parsers.base.PushNotificationsParser.set_oss_cluster_maint_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 404
    functionName: redis._parsers.base.AsyncPushNotificationsParser.handle_pubsub_push_response
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pubsub_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 471
    functionName: redis._parsers.base.AsyncPushNotificationsParser.set_pubsub_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - invalidation_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 475
    functionName: redis._parsers.base.AsyncPushNotificationsParser.set_invalidation_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_moving_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 479
    functionName: redis._parsers.base.AsyncPushNotificationsParser.set_node_moving_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - maintenance_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    functionName: redis._parsers.base.AsyncPushNotificationsParser.set_maintenance_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - oss_cluster_maint_push_handler_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 485
    functionName: redis._parsers.base.AsyncPushNotificationsParser.set_oss_cluster_maint_push_handler
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - socket_read_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 494
    functionName: redis._parsers.base._AsyncRESPBase.__init__
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 505
    functionName: redis._parsers.base._AsyncRESPBase.on_connect
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - redis._parsers.base._AsyncRESPBase._clear
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 514
    functionName: redis._parsers.base._AsyncRESPBase.on_disconnect
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 518
    functionName: redis._parsers.base._AsyncRESPBase.can_read_destructive
    functionSourceFile: redis._parsers.base
    functionUses: 0
    functionsReached:
    - asyncio.timeout
    - async_timeout.timeout
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.endswith
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis._parsers.socket
    functionSourceFile: redis._parsers.socket
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.object
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.keys
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: NONBLOCKING_EXCEPTION_ERROR_NUMBERS.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: redis._parsers.socket.SocketBuffer.unread_bytes
    functionSourceFile: redis._parsers.socket
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c133874c0>
    - <ast.Name object at 0x7f6c13387ca0>
    - <ast.Constant object at 0x7f6c133875e0>
    argNames:
    - self
    - length
    - timeout
    - raise_on_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: redis._parsers.socket.SocketBuffer._read_from_socket
    functionSourceFile: redis._parsers.socket
    functionUses: 8
    functionsReached:
    - buf.seek
    - sock.recv
    - <builtin>.isinstance
    - buf.write
    - sock.settimeout
    - buf.tell
    - <builtin>.len
    - NONBLOCKING_EXCEPTION_ERROR_NUMBERS.get
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - ConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.tell
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.seek
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.recv
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.write
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.readline
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis._parsers.commands
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: redis._parsers.commands.AbstractCommandsParser._get_pubsub_keys
    functionSourceFile: redis._parsers.commands
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - command
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    functionSourceFile: redis._parsers.commands
    functionUses: 6
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - typing.Protocol.decode
    - <builtin>.len
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - redis_connection
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: redis._parsers.commands.CommandsParser.__init__
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached:
    - r.command
    - cmd.lower
    - <builtin>.any
    - redis._parsers.commands.CommandsParser.initialize
    - x.isupper
    - commands.pop
    - uppercase_commands.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - r
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: redis._parsers.commands.CommandsParser.initialize
    functionSourceFile: redis._parsers.commands
    functionUses: 2
    functionsReached:
    - r.command
    - cmd.lower
    - <builtin>.any
    - x.isupper
    - commands.pop
    - uppercase_commands.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.command
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.isupper
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uppercase_commands.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: commands.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - redis_conn
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 121
    functionName: redis._parsers.commands.CommandsParser.get_keys
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached:
    - r.command
    - e.__str__
    - typing.Protocol.decode
    - cmd.lower
    - redis.utils.str_if_bytes
    - cmd_name.split
    - redis._parsers.commands.CommandsParser.initialize
    - x.isupper
    - <builtin>.list
    - <builtin>.any
    - <builtin>.range
    - <builtin>.isinstance
    - redis_conn.execute_command
    - <builtin>.len
    - commands.pop
    - <builtin>.int
    - uppercase_commands.append
    - redis._parsers.commands.AbstractCommandsParser._get_pubsub_keys
    - <builtin>.abs
    - redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    - redis._parsers.commands.CommandsParser._get_moveable_keys
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd_name.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - redis_conn
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: redis._parsers.commands.CommandsParser._get_moveable_keys
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - e.__str__
    - redis_conn.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.abs
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis_conn.execute_command
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.__str__
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c132fc5e0>
    argNames:
    - self
    - command_name
    - subcommand_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 213
    functionName: redis._parsers.commands.CommandsParser._is_keyless_command
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    - typing.Protocol.decode
    - <builtin>.len
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 255
    functionName: redis._parsers.commands.CommandsParser.get_command_policies
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    - data.decode
    - command.split
    - subcmd_name.decode
    - policy.split
    - typing.Protocol.decode
    - enum.Enum.__init__
    - subcmd_name.replace
    - command_with_policies.get
    - redis.utils.str_if_bytes
    - redis._parsers.commands.CommandsParser._is_keyless_command
    - policy.startswith
    - <builtin>.isinstance
    - data.values
    - redis._parsers.commands.CommandsParser.get_command_policies.extract_policies
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    - details.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - module_name
    - command_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 273
    functionName: redis._parsers.commands.CommandsParser.get_command_policies.extract_policies
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - data.decode
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - data.values
    - redis._parsers.commands.CommandsParser.get_command_policies.extract_policies
    - policy.split
    - typing.Protocol.decode
    - enum.Enum.__init__
    - policy.startswith
    linkageType: pythonLinkage
    raised:
    - IncorrectPolicyType
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: policy.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: policy.split
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enum.Enum.__init__
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.values
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command_with_policies.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: details.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subcmd_name.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subcmd_name.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 416
    functionName: redis._parsers.commands.AsyncCommandsParser.__init__
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12eea790>
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 419
    functionName: redis._parsers.commands.AsyncCommandsParser.initialize
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - cmd.lower
    - commands.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: commands.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 429
    functionName: redis._parsers.commands.AsyncCommandsParser.get_keys
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.int
    - commands.items
    - cmd.lower
    - redis.utils.str_if_bytes
    - cmd_name.split
    - <builtin>.isinstance
    - redis._parsers.commands.AbstractCommandsParser._get_pubsub_keys
    - redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    - redis._parsers.commands.AsyncCommandsParser.initialize
    - e.__str__
    - typing.Protocol.decode
    - <builtin>.abs
    - <builtin>.range
    - redis._parsers.commands.AsyncCommandsParser._get_moveable_keys
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RedisError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 496
    functionName: redis._parsers.commands.AsyncCommandsParser._get_moveable_keys
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - e.__str__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13986be0>
    argNames:
    - self
    - command_name
    - subcommand_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 510
    functionName: redis._parsers.commands.AsyncCommandsParser._is_keyless_command
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    - typing.Protocol.decode
    - <builtin>.len
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 552
    functionName: redis._parsers.commands.AsyncCommandsParser.get_command_policies
    functionSourceFile: redis._parsers.commands
    functionUses: 0
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    - data.decode
    - command.split
    - subcmd_name.decode
    - policy.split
    - typing.Protocol.decode
    - enum.Enum.__init__
    - subcmd_name.replace
    - command_with_policies.get
    - redis.utils.str_if_bytes
    - redis._parsers.commands.AsyncCommandsParser.get_command_policies.extract_policies
    - redis._parsers.commands.AsyncCommandsParser._is_keyless_command
    - policy.startswith
    - <builtin>.isinstance
    - data.values
    - <builtin>.len
    - <builtin>.int
    - redis._parsers.commands.AbstractCommandsParser.parse_subcommand
    - details.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - module_name
    - command_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 570
    functionName: redis._parsers.commands.AsyncCommandsParser.get_command_policies.extract_policies
    functionSourceFile: redis._parsers.commands
    functionUses: 1
    functionsReached:
    - data.decode
    - redis.utils.str_if_bytes
    - <builtin>.isinstance
    - data.values
    - policy.split
    - typing.Protocol.decode
    - enum.Enum.__init__
    - redis._parsers.commands.AsyncCommandsParser.get_command_policies.extract_policies
    - policy.startswith
    linkageType: pythonLinkage
    raised:
    - IncorrectPolicyType
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.policies
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - redis._parsers.commands.CommandPolicies.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.policies.PolicyResolver
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: redis.commands.policies.PolicyResolver.resolve
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 139
    functionName: redis.commands.policies.PolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.policies.AsyncPolicyResolver
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 154
    functionName: redis.commands.policies.AsyncPolicyResolver.resolve
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 167
    functionName: redis.commands.policies.AsyncPolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377ea30>
    argNames:
    - self
    - policies
    - fallback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    functionName: redis.commands.policies.BasePolicyResolver.__init__
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: command_name.split
    functionSourceFile: <builtin>
    functionUses: 528
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.policies.BasePolicyResolver
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 214
    functionName: redis.commands.policies.BasePolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c130338b0>
    argNames:
    - self
    - policies
    - fallback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 223
    functionName: redis.commands.policies.AsyncBasePolicyResolver.__init__
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.policies.AsyncBasePolicyResolver
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 252
    functionName: redis.commands.policies.AsyncBasePolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12eea850>
    argNames:
    - self
    - commands_parser
    - fallback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: redis.commands.policies.DynamicPolicyResolver.__init__
    functionSourceFile: redis.commands.policies
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - commands_parser.get_command_policies
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: commands_parser.get_command_policies
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 273
    functionName: redis.commands.policies.DynamicPolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - redis.commands.policies.DynamicPolicyResolver.__init__
    - <builtin>.super
    - commands_parser.get_command_policies
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12dc5670>
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 282
    functionName: redis.commands.policies.StaticPolicyResolver.__init__
    functionSourceFile: redis.commands.policies
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 290
    functionName: redis.commands.policies.StaticPolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - redis.commands.policies.StaticPolicyResolver.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12dc5df0>
    argNames:
    - self
    - policy_records
    - fallback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: redis.commands.policies.AsyncDynamicPolicyResolver.__init__
    functionSourceFile: redis.commands.policies
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 312
    functionName: redis.commands.policies.AsyncDynamicPolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - redis.commands.policies.AsyncDynamicPolicyResolver.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141e9cd0>
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: redis.commands.policies.AsyncStaticPolicyResolver.__init__
    functionSourceFile: redis.commands.policies
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 329
    functionName: redis.commands.policies.AsyncStaticPolicyResolver.with_fallback
    functionSourceFile: redis.commands.policies
    functionUses: 0
    functionsReached:
    - redis.commands.policies.AsyncStaticPolicyResolver.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.crc
    functionSourceFile: redis.crc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.find
    functionSourceFile: <builtin>
    functionUses: 564
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.crc_hqx
    functionSourceFile: binascii
    functionUses: 564
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.redismodules
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c12eeaac0>
    - <ast.Call object at 0x7f6c12eea9a0>
    argNames:
    - self
    - encoder
    - decoder
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 19
    functionName: redis.commands.redismodules.RedisModuleCommands.json
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - redis.commands.json.JSON.__init__
    - <builtin>.isinstance
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.RedisCluster.set_response_callback
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.commands.json.decoders.bulk_of_jsons
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12eea550>
    - <ast.Call object at 0x7f6c12eeafa0>
    - <ast.Call object at 0x7f6c12eea280>
    argNames:
    - self
    - client
    - version
    - decoder
    - encoder
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: redis.commands.json.JSON.__init__
    functionSourceFile: redis.commands.json
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.commands.json.decoders.bulk_of_jsons
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12eea3a0>
    argNames:
    - self
    - index_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: redis.commands.redismodules.RedisModuleCommands.ft
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - redis.commands.search.Search.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137b13a0>
    argNames:
    - self
    - client
    - index_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: redis.commands.search.Search.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 35
    functionName: redis.commands.redismodules.RedisModuleCommands.ts
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - redis.commands.timeseries.TimeSeries.__init__
    - <builtin>.isinstance
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1398c700>
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 33
    functionName: redis.commands.timeseries.TimeSeries.__init__
    functionSourceFile: redis.commands.timeseries
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 45
    functionName: redis.commands.redismodules.RedisModuleCommands.bf
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.RedisCluster.set_response_callback
    - redis.commands.helpers.get_protocol_version
    - redis.commands.bf.BFBloom.__init__
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: redis.commands.bf.BFBloom.__init__
    functionSourceFile: redis.commands.bf
    functionUses: 1
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 53
    functionName: redis.commands.redismodules.RedisModuleCommands.cf
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.RedisCluster.set_response_callback
    - redis.commands.helpers.get_protocol_version
    - redis.commands.bf.CFBloom.__init__
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 152
    functionName: redis.commands.bf.CFBloom.__init__
    functionSourceFile: redis.commands.bf
    functionUses: 1
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 61
    functionName: redis.commands.redismodules.RedisModuleCommands.cms
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.RedisCluster.set_response_callback
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.commands.bf.CMSBloom.__init__
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 91
    functionName: redis.commands.bf.CMSBloom.__init__
    functionSourceFile: redis.commands.bf
    functionUses: 1
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 69
    functionName: redis.commands.redismodules.RedisModuleCommands.topk
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - _MODULE_CALLBACKS.update
    - redis.commands.bf.TOPKBloom.__init__
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.RedisCluster.set_response_callback
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: redis.commands.bf.TOPKBloom.__init__
    functionSourceFile: redis.commands.bf
    functionUses: 1
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 77
    functionName: redis.commands.redismodules.RedisModuleCommands.tdigest
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - _MODULE_CALLBACKS.update
    - redis.commands.bf.TDigestBloom.__init__
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.RedisCluster.set_response_callback
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: redis.commands.bf.TDigestBloom.__init__
    functionSourceFile: redis.commands.bf
    functionUses: 1
    functionsReached:
    - _MODULE_CALLBACKS.update
    - <builtin>.isinstance
    - _MODULE_CALLBACKS.items
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 85
    functionName: redis.commands.redismodules.RedisModuleCommands.vset
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.commands.vectorset.VectorSet.__init__
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 22
    functionName: redis.commands.vectorset.VectorSet.__init__
    functionSourceFile: redis.commands.vectorset
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - redis.cluster.RedisCluster.set_response_callback
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.helpers.get_protocol_version
    - redis.asyncio.cluster.RedisCluster.set_response_callback
    - redis.client.Redis.set_response_callback
    - redis.asyncio.client.Redis.set_response_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377ef40>
    argNames:
    - self
    - index_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: redis.commands.redismodules.AsyncRedisModuleCommands.ft
    functionSourceFile: redis.commands.redismodules
    functionUses: 0
    functionsReached:
    - redis.commands.search.Search.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.bf
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - items
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: redis.commands.bf.AbstractBloom.append_items
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: redis.commands.bf.AbstractBloom.append_error
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - capacity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: redis.commands.bf.AbstractBloom.append_capacity
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - expansion
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: redis.commands.bf.AbstractBloom.append_expansion
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - noScale
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: redis.commands.bf.AbstractBloom.append_no_scale
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - weights
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: redis.commands.bf.AbstractBloom.append_weights
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - params.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - noCreate
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: redis.commands.bf.AbstractBloom.append_no_create
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - params
    - items
    - increments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: redis.commands.bf.AbstractBloom.append_items_and_increments
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - <builtin>.len
    - params.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - params
    - items
    - weights
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: redis.commands.bf.AbstractBloom.append_values_and_weights
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - <builtin>.len
    - params.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - max_iterations
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: redis.commands.bf.AbstractBloom.append_max_iterations
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - bucket_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: redis.commands.bf.AbstractBloom.append_bucket_size
    functionSourceFile: redis.commands.bf
    functionUses: 0
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _MODULE_CALLBACKS.update
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _MODULE_CALLBACKS.items
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.bf.commands
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12eea670>
    - <ast.Constant object at 0x7f6c12eea1f0>
    argNames:
    - self
    - key
    - errorRate
    - capacity
    - expansion
    - noScale
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 62
    functionName: redis.commands.bf.commands.BFCommands.create
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 76
    functionName: redis.commands.bf.commands.BFCommands.add
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 83
    functionName: redis.commands.bf.commands.BFCommands.madd
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13033a30>
    - <ast.Constant object at 0x7f6c13033970>
    - <ast.Constant object at 0x7f6c13033df0>
    - <ast.Constant object at 0x7f6c13033520>
    - <ast.Constant object at 0x7f6c13033580>
    argNames:
    - self
    - key
    - items
    - capacity
    - error
    - noCreate
    - expansion
    - noScale
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 90
    functionName: redis.commands.bf.commands.BFCommands.insert
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 118
    functionName: redis.commands.bf.commands.BFCommands.exists
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 125
    functionName: redis.commands.bf.commands.BFCommands.mexists
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - iter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 132
    functionName: redis.commands.bf.commands.BFCommands.scandump
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - iter
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 146
    functionName: redis.commands.bf.commands.BFCommands.loadchunk
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 157
    functionName: redis.commands.bf.commands.BFCommands.info
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 164
    functionName: redis.commands.bf.commands.BFCommands.card
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137b18e0>
    - <ast.Constant object at 0x7f6c137b13d0>
    - <ast.Constant object at 0x7f6c137b1ee0>
    argNames:
    - self
    - key
    - capacity
    - expansion
    - bucket_size
    - max_iterations
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 176
    functionName: redis.commands.bf.commands.CFCommands.create
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 191
    functionName: redis.commands.bf.commands.CFCommands.add
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 198
    functionName: redis.commands.bf.commands.CFCommands.addnx
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1390de20>
    - <ast.Constant object at 0x7f6c1390d790>
    argNames:
    - self
    - key
    - items
    - capacity
    - nocreate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 206
    functionName: redis.commands.bf.commands.CFCommands.insert
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1390d2b0>
    - <ast.Constant object at 0x7f6c1390d3d0>
    argNames:
    - self
    - key
    - items
    - capacity
    - nocreate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 219
    functionName: redis.commands.bf.commands.CFCommands.insertnx
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 232
    functionName: redis.commands.bf.commands.CFCommands.exists
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 239
    functionName: redis.commands.bf.commands.CFCommands.mexists
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 246
    functionName: redis.commands.bf.commands.CFCommands.delete
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 253
    functionName: redis.commands.bf.commands.CFCommands.count
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - iter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 260
    functionName: redis.commands.bf.commands.CFCommands.scandump
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - iter
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 273
    functionName: redis.commands.bf.commands.CFCommands.loadchunk
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 283
    functionName: redis.commands.bf.commands.CFCommands.info
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - key
    - k
    - width
    - depth
    - decay
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 295
    functionName: redis.commands.bf.commands.TOPKCommands.reserve
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 303
    functionName: redis.commands.bf.commands.TOPKCommands.add
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    - increments
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 310
    functionName: redis.commands.bf.commands.TOPKCommands.incrby
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 324
    functionName: redis.commands.bf.commands.TOPKCommands.query
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.bf.commands.TOPKCommands
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_function
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 332
    functionName: redis.commands.bf.commands.TOPKCommands.count
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c132fc100>
    argNames:
    - self
    - key
    - withcount
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 339
    functionName: redis.commands.bf.commands.TOPKCommands.list
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 351
    functionName: redis.commands.bf.commands.TOPKCommands.info
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14355580>
    argNames:
    - self
    - key
    - compression
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 360
    functionName: redis.commands.bf.commands.TDigestCommands.create
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 367
    functionName: redis.commands.bf.commands.TDigestCommands.reset
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 374
    functionName: redis.commands.bf.commands.TDigestCommands.add
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - destination_key
    - num_keys
    - keys
    - compression
    - override
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 382
    functionName: redis.commands.bf.commands.TDigestCommands.merge
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 399
    functionName: redis.commands.bf.commands.TDigestCommands.min
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 406
    functionName: redis.commands.bf.commands.TDigestCommands.max
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - quantile
    - quantiles
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 413
    functionName: redis.commands.bf.commands.TDigestCommands.quantile
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 422
    functionName: redis.commands.bf.commands.TDigestCommands.cdf
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 429
    functionName: redis.commands.bf.commands.TDigestCommands.info
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - low_cut_quantile
    - high_cut_quantile
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 437
    functionName: redis.commands.bf.commands.TDigestCommands.trimmed_mean
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 447
    functionName: redis.commands.bf.commands.TDigestCommands.rank
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 456
    functionName: redis.commands.bf.commands.TDigestCommands.revrank
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - rank
    - ranks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 465
    functionName: redis.commands.bf.commands.TDigestCommands.byrank
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - rank
    - ranks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 473
    functionName: redis.commands.bf.commands.TDigestCommands.byrevrank
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - width
    - depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 485
    functionName: redis.commands.bf.commands.CMSCommands.initbydim
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - error
    - probability
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 492
    functionName: redis.commands.bf.commands.CMSCommands.initbyprob
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    - increments
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 499
    functionName: redis.commands.bf.commands.CMSCommands.incrby
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 513
    functionName: redis.commands.bf.commands.CMSCommands.query
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.List object at 0x7f6c13f66eb0>
    argNames:
    - self
    - destKey
    - numKeys
    - srcKeys
    - weights
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 520
    functionName: redis.commands.bf.commands.CMSCommands.merge
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 533
    functionName: redis.commands.bf.commands.CMSCommands.info
    functionSourceFile: redis.commands.bf.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.bf.info
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: redis.commands.bf.info.BFInfo.__init__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 19
    functionName: redis.commands.bf.info.BFInfo.get
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - redis.commands.bf.info.BFInfo.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: redis.commands.bf.info.BFInfo.__getitem__
    functionSourceFile: redis.commands.bf.info
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: redis.commands.bf.info.CFInfo.__init__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: redis.commands.bf.info.CFInfo.get
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - redis.commands.bf.info.CFInfo.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: redis.commands.bf.info.CFInfo.__getitem__
    functionSourceFile: redis.commands.bf.info
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: redis.commands.bf.info.CMSInfo.__init__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: redis.commands.bf.info.CMSInfo.__getitem__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: redis.commands.bf.info.TopKInfo.__init__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: redis.commands.bf.info.TopKInfo.__getitem__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: redis.commands.bf.info.TDigestInfo.__init__
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: redis.commands.bf.info.TDigestInfo.get
    functionSourceFile: redis.commands.bf.info
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - redis.commands.bf.info.TDigestInfo.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: redis.commands.bf.info.TDigestInfo.__getitem__
    functionSourceFile: redis.commands.bf.info
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json.JSON.__init__.<dict1>.<lambda1>
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.json.JSON.__init__.<lambda1>
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    - redis.commands.helpers.nativestr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - d
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 7
    functionName: redis.commands.json.decoders.bulk_of_jsons
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json.JSON.__init__.<dict1>.<lambda2>
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.json.JSON.__init__.<lambda2>
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    - redis.commands.helpers.nativestr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json.JSON.__init__.<dict1>.<lambda3>
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.json.JSON.__init__.<lambda3>
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    - redis.commands.helpers.nativestr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 82
    functionName: redis.commands.json.JSON._decode
    functionSourceFile: redis.commands.json
    functionUses: 1
    functionsReached:
    - json.JSONDecoder.decode
    - obj.decode
    - <builtin>.isinstance
    - x.decode
    - re.findall
    - <builtin>.float
    - redis.commands.helpers.nativestr
    - redis.commands.json.decoders.unstring
    - <builtin>.int
    - redis.commands.json.decoders.decode_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.JSONDecoder.decode
    functionSourceFile: json
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - b
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: redis.commands.json.decoders.decode_list
    functionSourceFile: redis.commands.json.decoders
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    - <builtin>.float
    - re.findall
    - redis.commands.helpers.nativestr
    - redis.commands.json.decoders.unstring
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: redis.commands.json.JSON._encode
    functionSourceFile: redis.commands.json
    functionUses: 11
    functionsReached:
    - json.JSONEncoder.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.JSONEncoder.encode
    functionSourceFile: json
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12dc5e20>
    - <ast.Constant object at 0x7f6c12dc5c70>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 104
    functionName: redis.commands.json.JSON.pipeline
    functionSourceFile: redis.commands.json
    functionUses: 0
    functionsReached:
    - redis.cluster.ClusterPipeline.__init__
    - copy.copy.update_supported_errors
    - threading.RLock
    - copy.copy
    - <builtin>.isinstance
    - redis.retry.Retry.__init__
    - redis.client.Pipeline.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - <builtin>.super
    - kwargs.get
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.TransactionStrategy.__init__
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json.commands
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Call object at 0x7f6c13387d60>
    argNames:
    - self
    - name
    - path
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 16
    functionName: redis.commands.json.commands.JSONCommands.arrappend
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c133875e0>
    - <ast.Constant object at 0x7f6c133878b0>
    argNames:
    - self
    - name
    - path
    - scalar
    - start
    - stop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 29
    functionName: redis.commands.json.commands.JSONCommands.arrindex
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - path
    - index
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 54
    functionName: redis.commands.json.commands.JSONCommands.arrinsert
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c12d5d550>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 67
    functionName: redis.commands.json.commands.JSONCommands.arrlen
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Call object at 0x7f6c12d5deb0>
    - <ast.UnaryOp object at 0x7f6c12d5d0d0>
    argNames:
    - self
    - name
    - path
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 77
    functionName: redis.commands.json.commands.JSONCommands.arrpop
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - path
    - start
    - stop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 90
    functionName: redis.commands.json.commands.JSONCommands.arrtrim
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c139b10d0>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 100
    functionName: redis.commands.json.commands.JSONCommands.type
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c139497f0>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 107
    functionName: redis.commands.json.commands.JSONCommands.resp
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c12dd0700>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 114
    functionName: redis.commands.json.commands.JSONCommands.objkeys
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c12dd0a00>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 124
    functionName: redis.commands.json.commands.JSONCommands.objlen
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - path
    - number
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 134
    functionName: redis.commands.json.commands.JSONCommands.numincrby
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.json.commands.JSONCommands
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.utils.deprecated_function
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - path
    - number
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 145
    functionName: redis.commands.json.commands.JSONCommands.nummultby
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c14352730>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 155
    functionName: redis.commands.json.commands.JSONCommands.clear
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c14096a30>
    argNames:
    - self
    - key
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 166
    functionName: redis.commands.json.commands.JSONCommands.delete
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - args
    - no_escape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 176
    functionName: redis.commands.json.commands.JSONCommands.get
    functionSourceFile: redis.commands.json.commands
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.commands.json.path.Path.root_path
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 7
    functionName: redis.commands.json.path.Path.root_path
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - keys
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 206
    functionName: redis.commands.json.commands.JSONCommands.mget
    functionSourceFile: redis.commands.json.commands
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e8b220>
    - <ast.Constant object at 0x7f6c12e8b490>
    - <ast.Constant object at 0x7f6c12e8b310>
    argNames:
    - self
    - name
    - path
    - obj
    - nx
    - xx
    - decode_keys
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 218
    functionName: redis.commands.json.commands.JSONCommands.set
    functionSourceFile: redis.commands.json.commands
    functionUses: 3
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - k.decode
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - json.loads.keys
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - newobj.pop
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - redis.commands.json.decoders.decode_dict_keys
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: redis.commands.json.decoders.decode_dict_keys
    functionSourceFile: redis.commands.json.decoders
    functionUses: 5
    functionsReached:
    - newobj.pop
    - copy.copy
    - <builtin>.isinstance
    - k.decode
    - json.loads.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - triplets
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 257
    functionName: redis.commands.json.commands.JSONCommands.mset
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1340f4f0>
    argNames:
    - self
    - name
    - path
    - obj
    - decode_keys
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 274
    functionName: redis.commands.json.commands.JSONCommands.merge
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - k.decode
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - json.loads.keys
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - newobj.pop
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - redis.commands.json.decoders.decode_dict_keys
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137d7160>
    - <ast.Constant object at 0x7f6c137d7130>
    - <ast.Constant object at 0x7f6c137d72b0>
    argNames:
    - self
    - name
    - path
    - file_name
    - nx
    - xx
    - decode_keys
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 297
    functionName: redis.commands.json.commands.JSONCommands.set_file
    functionSourceFile: redis.commands.json.commands
    functionUses: 1
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - k.decode
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - json.loads.keys
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - newobj.pop
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.commands.json.commands.JSONCommands.set
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - json.loads
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - redis.commands.json.decoders.decode_dict_keys
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - fp.read
    - <builtin>.open
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.read
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.loads
    functionSourceFile: json
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13af1310>
    - <ast.Constant object at 0x7f6c13af1190>
    - <ast.Constant object at 0x7f6c13af10a0>
    argNames:
    - self
    - json_path
    - root_folder
    - nx
    - xx
    - decode_keys
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 322
    functionName: redis.commands.json.commands.JSONCommands.set_path
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - k.decode
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - file_path.rsplit
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - json.loads.keys
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.json.commands.JSONCommands.set_file
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - newobj.pop
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - os.path.join
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.commands.json.commands.JSONCommands.set
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - json.loads
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - redis.commands.json.decoders.decode_dict_keys
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - fp.read
    - <builtin>.open
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - os.walk
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.walk
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file_path.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c57580>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 360
    functionName: redis.commands.json.commands.JSONCommands.strlen
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f6c13b3a370>
    argNames:
    - self
    - name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 371
    functionName: redis.commands.json.commands.JSONCommands.toggle
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Call object at 0x7f6c13b3a910>
    argNames:
    - self
    - name
    - value
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 381
    functionName: redis.commands.json.commands.JSONCommands.strappend
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13381730>
    - <ast.Call object at 0x7f6c13381280>
    argNames:
    - self
    - subcommand
    - key
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 393
    functionName: redis.commands.json.commands.JSONCommands.debug
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 418
    functionName: redis.commands.json.commands.JSONCommands.jsonget
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.json.commands.JSONCommands.get
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.commands.json.path.Path.root_path
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 424
    functionName: redis.commands.json.commands.JSONCommands.jsonmget
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.commands.json.commands.JSONCommands.mget
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 430
    functionName: redis.commands.json.commands.JSONCommands.jsonset
    functionSourceFile: redis.commands.json.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - connection.disconnect
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - k.decode
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - json.loads.keys
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.commands.json.JSON._encode
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - newobj.pop
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.cache.CacheConfig.get_cache_class
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - copy.copy
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.commands.json.commands.JSONCommands.set
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - json.JSONEncoder.encode
    - <builtin>.tuple
    - random.randrange
    - redis.commands.json.decoders.decode_dict_keys
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json._util
    functionSourceFile: redis.commands.json._util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json.decoders
    functionSourceFile: redis.commands.json.decoders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - b
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 12
    functionName: redis.commands.json.decoders.bulk_of_jsons._f
    functionSourceFile: redis.commands.json.decoders
    functionUses: 0
    functionsReached:
    - json.JSONDecoder.decode
    - obj.decode
    - redis.commands.json.JSON._decode
    - <builtin>.enumerate
    - <builtin>.isinstance
    - x.decode
    - re.findall
    - <builtin>.float
    - redis.commands.helpers.nativestr
    - redis.commands.json.decoders.unstring
    - <builtin>.int
    - redis.commands.json.decoders.decode_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.loads.keys
    functionSourceFile: json
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: redis.commands.json.decoders.unstring
    functionSourceFile: redis.commands.json.decoders
    functionUses: 3
    functionsReached:
    - <builtin>.int
    - <builtin>.float
    - re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.findall
    functionSourceFile: re
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.json.path
    functionSourceFile: redis.commands.json.path
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 11
    functionName: redis.commands.json.path.Path.__init__
    functionSourceFile: redis.commands.json.path
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: redis.commands.json.path.Path.__repr__
    functionSourceFile: redis.commands.json.path
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.timeseries
    functionSourceFile: redis.commands.timeseries
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13464610>
    - <ast.Constant object at 0x7f6c13464ee0>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 67
    functionName: redis.commands.timeseries.TimeSeries.pipeline
    functionSourceFile: redis.commands.timeseries
    functionUses: 0
    functionsReached:
    - redis.cluster.ClusterPipeline.__init__
    - copy.copy.update_supported_errors
    - threading.RLock
    - copy.copy
    - <builtin>.isinstance
    - redis.retry.Retry.__init__
    - redis.client.Pipeline.__init__
    - typing.Protocol.__class__.COMMAND_FLAGS.copy
    - <builtin>.super
    - kwargs.get
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.cluster.TransactionStrategy.__init__
    - <builtin>.set
    - redis.cluster.PipelineStrategy.__init__
    - typing.Protocol.__class__.RESULT_CALLBACKS.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.timeseries.commands
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1377e430>
    - <ast.Constant object at 0x7f6c1377ef70>
    - <ast.Constant object at 0x7f6c1377e5b0>
    - <ast.Constant object at 0x7f6c1377ea00>
    - <ast.Constant object at 0x7f6c1377e760>
    - <ast.Constant object at 0x7f6c1377e280>
    - <ast.Constant object at 0x7f6c1377e9d0>
    argNames:
    - self
    - key
    - retention_msecs
    - uncompressed
    - labels
    - chunk_size
    - duplicate_policy
    - ignore_max_time_diff
    - ignore_max_val_diff
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 28
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.create
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_labels
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - labels.items
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_retention
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_uncompressed
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - retention
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1030
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_retention
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 5
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - uncompressed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 999
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_uncompressed
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 4
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - chunk_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1072
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 5
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - duplicate_policy
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1078
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 5
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - labels
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1036
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_labels
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 5
    functionsReached:
    - params.append
    - params.extend
    - labels.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cec310>
    - <ast.Constant object at 0x7f6c13cec700>
    argNames:
    - params
    - ignore_max_time_diff
    - ignore_max_val_diff
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1122
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 5
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b52b0>
    - <ast.Constant object at 0x7f6c143b5df0>
    - <ast.Constant object at 0x7f6c143b5430>
    - <ast.Constant object at 0x7f6c143b50d0>
    - <ast.Constant object at 0x7f6c143b59d0>
    - <ast.Constant object at 0x7f6c143b5d00>
    argNames:
    - self
    - key
    - retention_msecs
    - labels
    - chunk_size
    - duplicate_policy
    - ignore_max_time_diff
    - ignore_max_val_diff
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 100
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.alter
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_labels
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - labels.items
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_retention
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137b13d0>
    - <ast.Constant object at 0x7f6c137b10a0>
    - <ast.Constant object at 0x7f6c137b1b20>
    - <ast.Constant object at 0x7f6c137b1a30>
    - <ast.Constant object at 0x7f6c137b1df0>
    - <ast.Constant object at 0x7f6c137b14f0>
    - <ast.Constant object at 0x7f6c137b1ca0>
    - <ast.Constant object at 0x7f6c137b1040>
    argNames:
    - self
    - key
    - timestamp
    - value
    - retention_msecs
    - uncompressed
    - labels
    - chunk_size
    - duplicate_policy
    - ignore_max_time_diff
    - ignore_max_val_diff
    - on_duplicate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 169
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.add
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_labels
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - labels.items
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_retention
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_uncompressed
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_on_duplicate
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - on_duplicate
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1084
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_on_duplicate
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 1
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ktv_tuples
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 254
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.madd
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d8ee50>
    - <ast.Constant object at 0x7f6c12d8e250>
    - <ast.Constant object at 0x7f6c12d8ec70>
    - <ast.Constant object at 0x7f6c12d8e820>
    - <ast.Constant object at 0x7f6c12d8ed00>
    - <ast.Constant object at 0x7f6c12d8e850>
    - <ast.Constant object at 0x7f6c12d8ea60>
    - <ast.Constant object at 0x7f6c12d8ef40>
    argNames:
    - self
    - key
    - value
    - timestamp
    - retention_msecs
    - uncompressed
    - labels
    - chunk_size
    - duplicate_policy
    - ignore_max_time_diff
    - ignore_max_val_diff
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 283
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.incrby
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_labels
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - labels.items
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_retention
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_uncompressed
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_timestamp
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - timestamp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1050
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_timestamp
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 2
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e662b0>
    - <ast.Constant object at 0x7f6c12e66b20>
    - <ast.Constant object at 0x7f6c12e663d0>
    - <ast.Constant object at 0x7f6c12e66a60>
    - <ast.Constant object at 0x7f6c12e66520>
    - <ast.Constant object at 0x7f6c12e665e0>
    - <ast.Constant object at 0x7f6c12e66850>
    - <ast.Constant object at 0x7f6c12e66a00>
    argNames:
    - self
    - key
    - value
    - timestamp
    - retention_msecs
    - uncompressed
    - labels
    - chunk_size
    - duplicate_policy
    - ignore_max_time_diff
    - ignore_max_val_diff
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 375
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.decrby
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_labels
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - labels.items
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_retention
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_uncompressed
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_timestamp
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - from_time
    - to_time
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 467
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.delete
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143554c0>
    argNames:
    - self
    - source_key
    - dest_key
    - aggregation_type
    - bucket_size_msec
    - align_timestamp
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 489
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.createrule
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - params
    - aggregation_type
    - bucket_size_msec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1062
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 7
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - source_key
    - dest_key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 524
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.deleterule
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 14
    argDefaultValues: []
    argNames:
    - self
    - key
    - from_time
    - to_time
    - count
    - aggregation_type
    - bucket_size_msec
    - filter_by_ts
    - filter_by_min_value
    - filter_by_max_value
    - align
    - latest
    - bucket_timestamp
    - empty
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 532
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.__range_params
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 2
    functionsReached:
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - params.extend
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    - params.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - latest
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1104
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 8
    functionsReached:
    - params.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - ts_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1090
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 6
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - params
    - min_value
    - max_value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1096
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 6
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1044
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 6
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - align
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1056
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 6
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - bucket_timestamp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1110
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 6
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - params
    - empty
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1116
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 6
    functionsReached:
    - params.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1336c640>
    - <ast.Constant object at 0x7f6c1336c280>
    - <ast.Constant object at 0x7f6c1336c310>
    - <ast.Constant object at 0x7f6c1336c2e0>
    - <ast.Constant object at 0x7f6c1336c3d0>
    - <ast.Constant object at 0x7f6c1336c850>
    - <ast.Constant object at 0x7f6c1336cca0>
    - <ast.Constant object at 0x7f6c1336ce80>
    - <ast.Constant object at 0x7f6c1336c460>
    - <ast.Constant object at 0x7f6c1336cd60>
    argNames:
    - self
    - key
    - from_time
    - to_time
    - count
    - aggregation_type
    - bucket_size_msec
    - filter_by_ts
    - filter_by_min_value
    - filter_by_max_value
    - align
    - latest
    - bucket_timestamp
    - empty
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 561
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.range
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - redis.commands.timeseries.commands.TimeSeriesCommands.__range_params
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - params.append
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c131670d0>
    - <ast.Constant object at 0x7f6c13167d60>
    - <ast.Constant object at 0x7f6c13167670>
    - <ast.Constant object at 0x7f6c13167550>
    - <ast.Constant object at 0x7f6c13167160>
    - <ast.Constant object at 0x7f6c13167460>
    - <ast.Constant object at 0x7f6c131676a0>
    - <ast.Constant object at 0x7f6c13167d30>
    - <ast.Constant object at 0x7f6c131671c0>
    - <ast.Constant object at 0x7f6c131672e0>
    argNames:
    - self
    - key
    - from_time
    - to_time
    - count
    - aggregation_type
    - bucket_size_msec
    - filter_by_ts
    - filter_by_min_value
    - filter_by_max_value
    - align
    - latest
    - bucket_timestamp
    - empty
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 635
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.revrange
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - redis.commands.timeseries.commands.TimeSeriesCommands.__range_params
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - params.append
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 12
    IfCount: 0
    argCount: 18
    argDefaultValues: []
    argNames:
    - self
    - aggregation_type
    - bucket_size_msec
    - count
    - filters
    - from_time
    - to_time
    - with_labels
    - filter_by_ts
    - filter_by_min_value
    - filter_by_max_value
    - groupby
    - reduce
    - select_labels
    - align
    - latest
    - bucket_timestamp
    - empty
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 711
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.__mrange_params
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 2
    functionsReached:
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - params.extend
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_groupby_reduce
    - params.append
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_with_labels
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - params
    - with_labels
    - select_labels
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1005
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_with_labels
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 4
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - params
    - groupby
    - reduce
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1022
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands._append_groupby_reduce
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 3
    functionsReached:
    - params.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 18
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1420afd0>
    - <ast.Constant object at 0x7f6c1420abe0>
    - <ast.Constant object at 0x7f6c1420ab20>
    - <ast.Constant object at 0x7f6c1420aa60>
    - <ast.Constant object at 0x7f6c1420a370>
    - <ast.Constant object at 0x7f6c1420a3a0>
    - <ast.Constant object at 0x7f6c1420ad00>
    - <ast.Constant object at 0x7f6c1420a880>
    - <ast.Constant object at 0x7f6c1420a430>
    - <ast.Constant object at 0x7f6c1420ac10>
    - <ast.Constant object at 0x7f6c1420aa30>
    - <ast.Constant object at 0x7f6c1420adf0>
    - <ast.Constant object at 0x7f6c1420a6a0>
    - <ast.Constant object at 0x7f6c1420a340>
    argNames:
    - self
    - from_time
    - to_time
    - filters
    - count
    - aggregation_type
    - bucket_size_msec
    - with_labels
    - filter_by_ts
    - filter_by_min_value
    - filter_by_max_value
    - groupby
    - reduce
    - select_labels
    - align
    - latest
    - bucket_timestamp
    - empty
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 747
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.mrange
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_groupby_reduce
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_with_labels
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.commands.timeseries.commands.TimeSeriesCommands.__mrange_params
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 18
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1334bee0>
    - <ast.Constant object at 0x7f6c1334b670>
    - <ast.Constant object at 0x7f6c1334be20>
    - <ast.Constant object at 0x7f6c1334b6d0>
    - <ast.Constant object at 0x7f6c1334bfd0>
    - <ast.Constant object at 0x7f6c1334ba30>
    - <ast.Constant object at 0x7f6c1334b910>
    - <ast.Constant object at 0x7f6c1334be50>
    - <ast.Constant object at 0x7f6c1334b850>
    - <ast.Constant object at 0x7f6c1334bdc0>
    - <ast.Constant object at 0x7f6c1334b640>
    - <ast.Constant object at 0x7f6c1334bdf0>
    - <ast.Constant object at 0x7f6c1334b5e0>
    - <ast.Constant object at 0x7f6c1334bc40>
    argNames:
    - self
    - from_time
    - to_time
    - filters
    - count
    - aggregation_type
    - bucket_size_msec
    - with_labels
    - filter_by_ts
    - filter_by_min_value
    - filter_by_max_value
    - groupby
    - reduce
    - select_labels
    - align
    - latest
    - bucket_timestamp
    - empty
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 841
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.mrevrange
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_count
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - logger.debug
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_groupby_reduce
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_align
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_with_labels
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.commands.timeseries.commands.TimeSeriesCommands.__mrange_params
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_empty
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f66e80>
    argNames:
    - self
    - key
    - latest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 935
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.get
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d36e80>
    - <ast.Constant object at 0x7f6c12d36b80>
    - <ast.Constant object at 0x7f6c12d36af0>
    argNames:
    - self
    - filters
    - with_labels
    - select_labels
    - latest
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 950
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.mget
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_latest
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - params.extend
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - params.append
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.commands.timeseries.commands.TimeSeriesCommands._append_with_labels
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 982
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.info
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filters
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 990
    functionName: redis.commands.timeseries.commands.TimeSeriesCommands.queryindex
    functionSourceFile: redis.commands.timeseries.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: labels.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.timeseries.info
    functionSourceFile: redis.commands.timeseries.info
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 26
    functionName: redis.commands.timeseries.info.TSInfo.__init__
    functionSourceFile: redis.commands.timeseries.info
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - redis.commands.timeseries.utils.list_to_dict
    - <builtin>.map
    - <builtin>.isinstance
    - x.decode
    - redis.commands.helpers.nativestr
    - <builtin>.len
    - <builtin>.range
    - response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - aList
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 4
    functionName: redis.commands.timeseries.utils.list_to_dict
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - x.decode
    - redis.commands.helpers.nativestr
    - <builtin>.len
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 84
    functionName: redis.commands.timeseries.info.TSInfo.get
    functionSourceFile: redis.commands.timeseries.info
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - redis.commands.timeseries.info.TSInfo.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: redis.commands.timeseries.info.TSInfo.__getitem__
    functionSourceFile: redis.commands.timeseries.info
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.timeseries.utils
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 8
    functionName: redis.commands.timeseries.utils.parse_range
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: redis.commands.timeseries.utils.parse_m_range
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - res.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.timeseries.utils.parse_m_range.<lambda1>
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - d.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: redis.commands.timeseries.utils.parse_get
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: redis.commands.timeseries.utils.parse_m_get
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - res.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.timeseries.utils.parse_m_get.<lambda1>
    functionSourceFile: redis.commands.timeseries.utils
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - d.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.vectorset
    functionSourceFile: redis.commands.vectorset
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.vectorset.VectorSet.__init__.<dict1>.<lambda1>
    functionSourceFile: redis.commands.vectorset
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.vectorset.VectorSet.__init__.<lambda1>
    functionSourceFile: redis.commands.vectorset
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - json.loads
    - <builtin>.map
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.vectorset.VectorSet.__init__.<dict2>.<lambda1>
    functionSourceFile: redis.commands.vectorset
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.vectorset.utils
    functionSourceFile: redis.commands.vectorset.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 7
    functionName: redis.commands.vectorset.utils.parse_vemb_result
    functionSourceFile: redis.commands.vectorset.utils
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - result.append
    - <builtin>.float
    - <builtin>.len
    - options.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 46
    functionName: redis.commands.vectorset.utils.parse_vlinks_result
    functionSourceFile: redis.commands.vectorset.utils
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - <builtin>.zip
    - <builtin>.map
    - result.append
    - <builtin>.float
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - response
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 74
    functionName: redis.commands.vectorset.utils.parse_vsim_result
    functionSourceFile: redis.commands.vectorset.utils
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - resp_dict.items
    - <builtin>.dict
    - <builtin>.zip
    - json.loads
    - <builtin>.map
    - response.items
    - <builtin>.float
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp_dict.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.vectorset.commands
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f5f7c0>
    - <ast.Constant object at 0x7f6c13f5f820>
    - <ast.Constant object at 0x7f6c13f5f9d0>
    - <ast.Constant object at 0x7f6c13f5fd00>
    - <ast.Constant object at 0x7f6c13f5f9a0>
    - <ast.Constant object at 0x7f6c13f5fcd0>
    argNames:
    - self
    - key
    - vector
    - element
    - reduce_dim
    - cas
    - quantization
    - ef
    - attributes
    - numlinks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 54
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vadd
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - json.dumps
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - values_pieces.extend
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values_pieces.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 14
    IfCount: 14
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13023130>
    - <ast.Constant object at 0x7f6c13023610>
    - <ast.Constant object at 0x7f6c130233a0>
    - <ast.Constant object at 0x7f6c13023bb0>
    - <ast.Constant object at 0x7f6c13023e80>
    - <ast.Constant object at 0x7f6c13023550>
    - <ast.Constant object at 0x7f6c130239d0>
    - <ast.Constant object at 0x7f6c13023820>
    - <ast.Constant object at 0x7f6c13023430>
    argNames:
    - self
    - key
    - input
    - with_scores
    - with_attribs
    - count
    - ef
    - filter
    - filter_ef
    - truth
    - no_thread
    - epsilon
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 132
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vsim
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 222
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vdim
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 236
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vcard
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - element
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 246
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vrem
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13eb3ca0>
    argNames:
    - self
    - key
    - element
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 254
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vemb
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12f4c220>
    argNames:
    - self
    - key
    - element
    - with_scores
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 296
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vlinks
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 327
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vinfo
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f664c0>
    argNames:
    - self
    - key
    - element
    - attributes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 335
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vsetattr
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - json.dumps
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - element
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 354
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vgetattr
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1334bfd0>
    argNames:
    - self
    - key
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 367
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vrandmember
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137b1580>
    argNames:
    - self
    - key
    - start
    - end
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 395
    functionName: redis.commands.vectorset.commands.VectorSetCommands.vrange
    functionSourceFile: redis.commands.vectorset.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - pieces.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search
    functionSourceFile: redis.commands.search
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13241bb0>
    argNames:
    - self
    - client
    - chunk_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 30
    functionName: redis.commands.search.Search.BatchIndexer.__init__
    functionSourceFile: redis.commands.search
    functionUses: 1
    functionsReached:
    - redis.commands.search.Search.pipeline
    - redis.commands.search.AsyncSearch.pipeline
    - redis.client.Pipeline.__init__
    - <builtin>.set
    - redis.asyncio.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137b1250>
    - <ast.Constant object at 0x7f6c137b1a00>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: redis.commands.search.Search.pipeline
    functionSourceFile: redis.commands.search
    functionUses: 4
    functionsReached:
    - redis.client.Pipeline.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f661f0>
    - <ast.Constant object at 0x7f6c13f66d90>
    argNames:
    - self
    - transaction
    - shard_hint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: redis.commands.search.AsyncSearch.pipeline
    functionSourceFile: redis.commands.search
    functionUses: 4
    functionsReached:
    - <builtin>.set
    - redis.asyncio.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 38
    functionName: redis.commands.search.Search.BatchIndexer.__del__
    functionSourceFile: redis.commands.search
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - asyncio.open_connection
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.asyncio.client.Pipeline.reset
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.event.EventDispatcher.dispatch_async
    - redis.connection.AbstractConnection._send_ping
    - redis.client.Pipeline.execute
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - typing.cast.read_response
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - asyncio.timeout
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.commands.search.Search.BatchIndexer.commit
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.client.Pipeline.load_scripts
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - typing.cast
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 84
    functionName: redis.commands.search.Search.BatchIndexer.commit
    functionSourceFile: redis.commands.search
    functionUses: 4
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - asyncio.open_connection
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.asyncio.client.Pipeline.reset
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.event.EventDispatcher.dispatch_async
    - redis.connection.AbstractConnection._send_ping
    - redis.client.Pipeline.execute
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - typing.cast.read_response
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - asyncio.timeout
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.client.Pipeline.load_scripts
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - typing.cast
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1420adc0>
    - <ast.Constant object at 0x7f6c1420a8b0>
    - <ast.Constant object at 0x7f6c1420ab50>
    - <ast.Constant object at 0x7f6c1420abe0>
    - <ast.Constant object at 0x7f6c1420afd0>
    - <ast.Constant object at 0x7f6c1420aeb0>
    argNames:
    - self
    - doc_id
    - nosave
    - score
    - payload
    - replace
    - partial
    - no_create
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 42
    functionName: redis.commands.search.Search.BatchIndexer.add_document
    functionSourceFile: redis.commands.search
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.commands.search.commands.SearchCommands._add_document
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.commands.search.Search.BatchIndexer.commit
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - itertools.chain
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.asyncio.client.Pipeline.reset
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.client.Pipeline.execute
    - typing.cast.read_response
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.client.Pipeline.reset
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - typing.cast
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.client.Pipeline.load_scripts
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13503160>
    - <ast.Constant object at 0x7f6c135037f0>
    - <ast.Constant object at 0x7f6c13503670>
    - <ast.Constant object at 0x7f6c13503a60>
    - <ast.Constant object at 0x7f6c135034f0>
    - <ast.Constant object at 0x7f6c13503b80>
    - <ast.Constant object at 0x7f6c13503640>
    - <ast.Constant object at 0x7f6c13503fd0>
    argNames:
    - self
    - doc_id
    - conn
    - nosave
    - score
    - payload
    - replace
    - partial
    - language
    - no_create
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 304
    functionName: redis.commands.search.commands.SearchCommands._add_document
    functionSourceFile: redis.commands.search.commands
    functionUses: 3
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - itertools.chain
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c137fb700>
    - <ast.Constant object at 0x7f6c137fb760>
    argNames:
    - self
    - doc_id
    - score
    - replace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 72
    functionName: redis.commands.search.Search.BatchIndexer.add_document_hash
    functionSourceFile: redis.commands.search
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.commands.search.Search.BatchIndexer.commit
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.asyncio.client.Pipeline.reset
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.client.Pipeline.execute
    - typing.cast.read_response
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - redis.commands.search.commands.SearchCommands._add_document_hash
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.client.Pipeline.reset
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - typing.cast
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.client.Pipeline.load_scripts
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136d2e80>
    - <ast.Constant object at 0x7f6c136d23a0>
    - <ast.Constant object at 0x7f6c136d2310>
    - <ast.Constant object at 0x7f6c136d2970>
    argNames:
    - self
    - doc_id
    - conn
    - score
    - language
    - replace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 346
    functionName: redis.commands.search.commands.SearchCommands._add_document_hash
    functionSourceFile: redis.commands.search.commands
    functionUses: 2
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6c134c45e0>
    - <ast.Constant object at 0x7f6c134c4ee0>
    - <ast.Constant object at 0x7f6c134c4130>
    - <ast.Constant object at 0x7f6c134c4970>
    - <ast.Constant object at 0x7f6c134c4e50>
    - <ast.Constant object at 0x7f6c134c4af0>
    argNames:
    - self
    - doc_id
    - nosave
    - score
    - payload
    - replace
    - partial
    - no_create
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 135
    functionName: redis.commands.search.AsyncSearch.BatchIndexer.add_document
    functionSourceFile: redis.commands.search
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.commands.search.commands.SearchCommands._add_document
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.commands.search.Search.BatchIndexer.commit
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - itertools.chain
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.asyncio.client.Pipeline.reset
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - redis.client.Pipeline.execute
    - typing.cast.read_response
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.client.Pipeline.reset
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - typing.cast
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.client.Pipeline.load_scripts
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 165
    functionName: redis.commands.search.AsyncSearch.BatchIndexer.commit
    functionSourceFile: redis.commands.search
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.asyncio.connection.ConnectionPool.get_connection
    - redis.cache.CacheEntry.__init__
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.connection.PythonRespSerializer.pack
    - redis.utils.compare_versions
    - redis.connection.Connection._host_error
    - <builtin>.str
    - num_versions2.append
    - time.monotonic
    - redis.asyncio.connection.AbstractConnection._host_error
    - <builtin>.dict
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - asyncio.get_running_loop
    - redis.connection.ConnectionPool.make_connection
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - redis.connection.AbstractConnection.send_command
    - redis.asyncio.connection.AbstractConnection.check_health
    - <builtin>.sum
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parent.owns_connection
    - parser.set_maintenance_push_handler
    - redis.asyncio.connection.AbstractConnection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.AbstractConnection._get_parser
    - maint_notifications_pool_handler.get_handler_for_connection
    - <builtin>.zip
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - <builtin>.super
    - redis.client.Pipeline.immediate_execute_command
    - sock.shutdown
    - redis.asyncio.connection.Connection._connect
    - entry.connection_ref.read_response
    - redis.connection.ConnectionPool.get_connection
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - sys.exc_info
    - <builtin>.list
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.map
    - key.decode
    - asyncio.wait_for
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - command.encode
    - typing.cast.retry.call_with_retry
    - async_timeout.timeout
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - asyncio.open_connection
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.connection.AbstractConnection.check_health
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - <builtin>.range
    - redis.asyncio.client.Pipeline.reset
    - asyncio.sleep
    - redis.connection.AbstractConnection.should_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.cast.should_reconnect
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - version1.split
    - redis.connection.Connection._connect
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - redis.asyncio.retry.Retry.call_with_retry
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - redis.sentinel.SentinelConnectionPool.reset
    - time.sleep
    - redis.event.EventDispatcher.dispatch_async
    - redis.connection.AbstractConnection._send_ping
    - redis.client.Pipeline.execute
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - typing.cast.read_response
    - <builtin>.getattr
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - conn_sock.close
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.event.EventDispatcher.dispatch
    - redis.asyncio.connection.Connection.__init__
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - version2.split
    - <builtin>.len
    - redis.connection.CacheProxyConnection.__init__
    - logger.debug
    - listener.listen
    - output.append
    - asyncio.timeout
    - redis.connection.ConnectionPool._checkpid
    - redis.connection.AbstractConnection.register_connect_callback
    - typing.cast.disconnect
    - cred_provider.get_credentials
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - <builtin>.tuple
    - <builtin>.set
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - <builtin>.enumerate
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - asyncio.iscoroutinefunction
    - kwargs.get
    - redis.utils.ensure_string
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.ConnectionPool.release
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.asyncio.client.Pipeline.load_scripts
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - redis.connection.CacheProxyConnection.should_reconnect
    - entry.connection_ref.can_read
    - redis.client.Pipeline.reset
    - <builtin>.int
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - writer.close
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - redis.connection.AbstractConnection.read_response
    - typing.cast
    - hiredis.pack_command
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.asyncio.connection.Connection._host_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.commands
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - cmd
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 80
    functionName: redis.commands.search.commands.SearchCommands._parse_results
    functionSourceFile: redis.commands.search.commands
    functionUses: 14
    functionsReached:
    - results.append
    - <builtin>.zip
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - s.decode
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - client.nodes_manager.connection_kwargs.get
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.commands.search.aggregation.Cursor.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - <builtin>.dict
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - <builtin>.float
    - redis._parsers.helpers.pairs_to_dict
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.commands.search.aggregation.AggregateResult.__init__
    - <builtin>.map
    - <builtin>.isinstance
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - <builtin>.setattr
    - redis.commands.helpers.get_protocol_version
    - <builtin>.len
    - <builtin>.int
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.commands.search.result.Result.__init__
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search._util.to_string
    - redis.commands.search.document.Document.__init__
    - <builtin>.iter
    - fields.items
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: redis.commands.search.profile_information.ProfileInformation.__init__
    functionSourceFile: ''
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 125
    functionName: redis.commands.search.commands.SearchCommands._parse_profile
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - <builtin>.zip
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - s.decode
    - <builtin>.map
    - <builtin>.isinstance
    - redis.commands.search._util.to_string
    - redis.commands.search.document.Document.__init__
    - <builtin>.float
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.commands.search.aggregation.AggregateResult.__init__
    - <builtin>.setattr
    - redis.commands.search.aggregation.Cursor.__init__
    - <builtin>.len
    - fields.items
    - <builtin>.range
    - redis.commands.search.result.Result.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 177
    functionName: redis.commands.search.commands.SearchCommands._parse_config_get
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 90
    functionName: redis.commands.search.commands.SearchCommands._parse_search
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - <builtin>.zip
    - s.decode
    - <builtin>.map
    - redis.commands.search._util.to_string
    - <builtin>.isinstance
    - redis.commands.search.document.Document.__init__
    - <builtin>.float
    - <builtin>.setattr
    - <builtin>.len
    - fields.items
    - <builtin>.range
    - redis.commands.search.result.Result.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 180
    functionName: redis.commands.search.commands.SearchCommands._parse_syndump
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - <builtin>.range
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: redis.commands.search.commands.SearchCommands._parse_spellcheck
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 122
    functionName: redis.commands.search.commands.SearchCommands._parse_aggregate
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.commands.search.aggregation.AggregateResult.__init__
    - <builtin>.isinstance
    - redis.commands.search.aggregation.Cursor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: redis.commands.search.commands.SearchCommands._parse_info
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - res
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: redis.commands.search.commands.SearchCommands._parse_hybrid_search
    functionSourceFile: redis.commands.search.commands
    functionUses: 15
    functionsReached:
    - <builtin>.dict
    - results.append
    - <builtin>.zip
    - <builtin>.map
    - <builtin>.float
    - redis._parsers.helpers.pairs_to_dict
    - <builtin>.iter
    - <builtin>.int
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d3b040>
    - <ast.Constant object at 0x7f6c12d3bb80>
    - <ast.Constant object at 0x7f6c12d3b880>
    - <ast.Constant object at 0x7f6c12d3b0a0>
    argNames:
    - self
    - res
    - hascontent
    - duration
    - has_payload
    - with_scores
    - field_encodings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: redis.commands.search.result.Result.__init__
    functionSourceFile: redis.commands.search.result
    functionUses: 17
    functionsReached:
    - <builtin>.zip
    - s.decode
    - <builtin>.map
    - <builtin>.range
    - <builtin>.isinstance
    - redis.commands.search.document.Document.__init__
    - <builtin>.float
    - <builtin>.setattr
    - <builtin>.len
    - fields.items
    - redis.commands.search._util.to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - search_cursor_id
    - vsim_cursor_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: redis.commands.search.hybrid_result.HybridCursorResult.__init__
    functionSourceFile: ''
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - raw
    - query
    - has_cursor
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 664
    functionName: redis.commands.search.commands.SearchCommands._get_aggregate_result
    functionSourceFile: redis.commands.search.commands
    functionUses: 17
    functionsReached:
    - redis.commands.search.aggregation.AggregateResult.__init__
    - <builtin>.isinstance
    - redis.commands.search.aggregation.Cursor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142646d0>
    argNames:
    - self
    - chunk_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 183
    functionName: redis.commands.search.commands.SearchCommands.batch_indexer
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.commands.search.Search.pipeline
    - redis.commands.search.AsyncSearch.pipeline
    - redis.commands.search.Search.BatchIndexer.__init__
    - redis.client.Pipeline.__init__
    - <builtin>.set
    - redis.asyncio.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 10
    IfCount: 10
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140281c0>
    - <ast.Constant object at 0x7f6c14028490>
    - <ast.Constant object at 0x7f6c14028430>
    - <ast.Constant object at 0x7f6c14028070>
    - <ast.Constant object at 0x7f6c14028250>
    - <ast.Constant object at 0x7f6c14028880>
    - <ast.Constant object at 0x7f6c14028f10>
    - <ast.Constant object at 0x7f6c14028ac0>
    - <ast.Constant object at 0x7f6c140284c0>
    argNames:
    - self
    - fields
    - no_term_offsets
    - no_field_flags
    - stopwords
    - definition
    - max_text_fields
    - temporary
    - no_highlight
    - no_term_frequencies
    - skip_initial_scan
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 189
    functionName: redis.commands.search.commands.SearchCommands.create_index
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - f.redis_args
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - itertools.chain
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - fields.redis_args
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.redis_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fields.redis_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 259
    functionName: redis.commands.search.commands.SearchCommands.alter_schema_add
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - f.redis_args
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - itertools.chain
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - fields.redis_args
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139c70a0>
    argNames:
    - self
    - delete_documents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 279
    functionName: redis.commands.search.commands.SearchCommands.dropindex
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.search.commands.SearchCommands
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.utils.experimental_method
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function
    - redis.utils.experimental_method.decorator
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13794ee0>
    - <ast.Constant object at 0x7f6c137947c0>
    - <ast.Constant object at 0x7f6c13794910>
    - <ast.Constant object at 0x7f6c13794c10>
    - <ast.Constant object at 0x7f6c13794ca0>
    - <ast.Constant object at 0x7f6c13794850>
    - <ast.Constant object at 0x7f6c13794af0>
    argNames:
    - self
    - doc_id
    - nosave
    - score
    - payload
    - replace
    - partial
    - language
    - no_create
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 369
    functionName: redis.commands.search.commands.SearchCommands.add_document
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.commands.search.commands.SearchCommands._add_document
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - itertools.chain
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141988b0>
    - <ast.Constant object at 0x7f6c141986d0>
    - <ast.Constant object at 0x7f6c141980a0>
    argNames:
    - self
    - doc_id
    - score
    - language
    - replace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 425
    functionName: redis.commands.search.commands.SearchCommands.add_document_hash
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - redis.commands.search.commands.SearchCommands._add_document_hash
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14198100>
    - <ast.Constant object at 0x7f6c14198ac0>
    argNames:
    - self
    - doc_id
    - conn
    - delete_actual_document
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 443
    functionName: redis.commands.search.commands.SearchCommands.delete_document
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - conn.execute_command
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.execute_command
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 462
    functionName: redis.commands.search.commands.SearchCommands.load_document
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - s.decode
    - <builtin>.isinstance
    - redis.commands.search.document.Document.__init__
    - <builtin>.setattr
    - fields.items
    - redis.commands.search._util.to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1383ceb0>
    argNames:
    - s
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: redis.commands.search._util.to_string
    functionSourceFile: redis.commands.search._util
    functionUses: 22
    functionsReached:
    - <builtin>.isinstance
    - s.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136f06d0>
    argNames:
    - self
    - id
    - payload
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: redis.commands.search.document.Document.__init__
    functionSourceFile: redis.commands.search.document
    functionUses: 20
    functionsReached:
    - fields.items
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ids
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 478
    functionName: redis.commands.search.commands.SearchCommands.get
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 490
    functionName: redis.commands.search.commands.SearchCommands.info
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 501
    functionName: redis.commands.search.commands.SearchCommands.get_params_args
    functionSourceFile: redis.commands.search.commands
    functionUses: 9
    functionsReached:
    - args.append
    - query_params.items
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: query_params.items
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - query
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 515
    functionName: redis.commands.search.commands.SearchCommands._mk_query_args
    functionSourceFile: redis.commands.search.commands
    functionUses: 3
    functionsReached:
    - args.append
    - redis.commands.search.query.Query.__init__
    - <builtin>.list
    - query_params.items
    - redis.commands.search.query.Query.get_args
    - redis.commands.search.commands.SearchCommands.get_params_args
    - <builtin>.isinstance
    - redis.commands.search.query.Query._get_args_tags
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: redis.commands.search.query.Query.__init__
    functionSourceFile: redis.commands.search.query
    functionUses: 4
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 190
    functionName: redis.commands.search.query.Query.get_args
    functionSourceFile: redis.commands.search.query
    functionUses: 4
    functionsReached:
    - args.append
    - <builtin>.isinstance
    - <builtin>.len
    - redis.commands.search.query.Query._get_args_tags
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1307fac0>
    argNames:
    - self
    - query
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 531
    functionName: redis.commands.search.commands.SearchCommands.search
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.commands.search.query.Query.get_args
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._mk_query_args
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.commands.search.query.Query._get_args_tags
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.search.query.Query.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12da52b0>
    - <ast.Constant object at 0x7f6c12da5550>
    - <ast.Constant object at 0x7f6c12da51f0>
    - <ast.Constant object at 0x7f6c12da59d0>
    - <ast.Constant object at 0x7f6c12da5940>
    argNames:
    - self
    - query
    - combine_method
    - post_processing
    - params_substitution
    - timeout
    - cursor
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 564
    functionName: redis.commands.search.commands.SearchCommands.hybrid_search
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - query.get_args
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - post_processing.build_args
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - combine_method.get_args
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - cursor.build_args
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: query.get_args
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: combine_method.get_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: post_processing.build_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cursor.build_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a1f1f0>
    argNames:
    - self
    - query
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 617
    functionName: redis.commands.search.commands.SearchCommands.explain
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.commands.search.query.Query.get_args
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._mk_query_args
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.commands.search.query.Query._get_args_tags
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.search.query.Query.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 629
    functionName: redis.commands.search.commands.SearchCommands.explain_cli
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13491910>
    argNames:
    - self
    - query
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 632
    functionName: redis.commands.search.commands.SearchCommands.aggregate
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - query.build_args
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: query.build_args
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cid
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 374
    functionName: redis.commands.search.aggregation.Cursor.__init__
    functionSourceFile: ''
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - rows
    - cursor
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 389
    functionName: redis.commands.search.aggregation.AggregateResult.__init__
    functionSourceFile: ''
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a54970>
    - <ast.Constant object at 0x7f6c14a547c0>
    argNames:
    - self
    - query
    - limited
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 686
    functionName: redis.commands.search.commands.SearchCommands.profile
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - query.get_args
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - cmd.append
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - query.build_args
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13e603a0>
    - <ast.Constant object at 0x7f6c13e606a0>
    - <ast.Constant object at 0x7f6c13e60e80>
    argNames:
    - self
    - query
    - distance
    - include
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 726
    functionName: redis.commands.search.commands.SearchCommands.spellcheck
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - cmd.extend
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - terms
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 754
    functionName: redis.commands.search.commands.SearchCommands.dict_add
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - cmd.extend
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - terms
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 768
    functionName: redis.commands.search.commands.SearchCommands.dict_del
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - cmd.extend
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 782
    functionName: redis.commands.search.commands.SearchCommands.dict_dump
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - option
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 798
    functionName: redis.commands.search.commands.SearchCommands.config_set
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - option
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 816
    functionName: redis.commands.search.commands.SearchCommands.config_get
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tagfield
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 829
    functionName: redis.commands.search.commands.SearchCommands.tagvals
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alias
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 842
    functionName: redis.commands.search.commands.SearchCommands.aliasadd
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alias
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 855
    functionName: redis.commands.search.commands.SearchCommands.aliasupdate
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alias
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 868
    functionName: redis.commands.search.commands.SearchCommands.aliasdel
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - suggestions
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 880
    functionName: redis.commands.search.commands.SearchCommands.sugadd
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.client.Pipeline.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.commands.search.Search.pipeline
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.asyncio.client.Pipeline.reset
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.client.Pipeline.execute
    - typing.cast.read_response
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.client.Pipeline.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.commands.search.AsyncSearch.pipeline
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.client.Pipeline.reset
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - typing.cast
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.client.Pipeline.load_scripts
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 903
    functionName: redis.commands.search.commands.SearchCommands.suglen
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - string
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 911
    functionName: redis.commands.search.commands.SearchCommands.sugdel
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d58f40>
    - <ast.Constant object at 0x7f6c12d58790>
    - <ast.Constant object at 0x7f6c12d58520>
    - <ast.Constant object at 0x7f6c12d58100>
    argNames:
    - self
    - key
    - prefix
    - fuzzy
    - num
    - with_scores
    - with_payloads
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 920
    functionName: redis.commands.search.commands.SearchCommands.sugget
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.commands.search.suggestion.SuggestionParser.__init__
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - with_scores
    - with_payloads
    - ret
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: redis.commands.search.suggestion.SuggestionParser.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140cb280>
    argNames:
    - self
    - groupid
    - skipinitial
    - terms
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 976
    functionName: redis.commands.search.commands.SearchCommands.synupdate
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - cmd.extend
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1000
    functionName: redis.commands.search.commands.SearchCommands.syndump
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1014
    functionName: redis.commands.search.commands.AsyncSearchCommands.info
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13537460>
    argNames:
    - self
    - query
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1025
    functionName: redis.commands.search.commands.AsyncSearchCommands.search
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.commands.search.query.Query.get_args
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._mk_query_args
    - redis.asyncio.cluster.NodesManager.get_node
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.commands.search.query.Query._get_args_tags
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.commands.search.query.Query.__init__
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.commands.search.commands.AsyncSearchCommands
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.utils.experimental_method
    - functools.wraps
    - inspect.iscoroutinefunction
    - redis.utils.deprecated_function
    - redis.utils.experimental_method.decorator
    - redis.utils.deprecated_function.decorator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139daac0>
    - <ast.Constant object at 0x7f6c139da340>
    - <ast.Constant object at 0x7f6c139da5b0>
    - <ast.Constant object at 0x7f6c139dac40>
    - <ast.Constant object at 0x7f6c139dabe0>
    argNames:
    - self
    - query
    - combine_method
    - post_processing
    - params_substitution
    - timeout
    - cursor
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1058
    functionName: redis.commands.search.commands.AsyncSearchCommands.hybrid_search
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - query.get_args
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - post_processing.build_args
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - combine_method.get_args
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - cursor.build_args
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - pieces.extend
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13765d60>
    argNames:
    - self
    - query
    - query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1111
    functionName: redis.commands.search.commands.AsyncSearchCommands.aggregate
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - query.build_args
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - <builtin>.iter
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - <builtin>.bool
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - num_versions2.append
    - <builtin>.str
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.commands.search.commands.SearchCommands._parse_results
    - redis.cluster.LoadBalancer._get_random_replica_index
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - redis.cluster.RedisCluster._execute_command
    - node.disconnect
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - query_params.items
    - redis.asyncio.connection.ConnectionPool.release
    - redis.commands.search.commands.SearchCommands.get_params_args
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13dd8700>
    - <ast.Constant object at 0x7f6c13dd8df0>
    - <ast.Constant object at 0x7f6c13dd88e0>
    argNames:
    - self
    - query
    - distance
    - include
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1143
    functionName: redis.commands.search.commands.AsyncSearchCommands.spellcheck
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - cmd.extend
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - option
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1175
    functionName: redis.commands.search.commands.AsyncSearchCommands.config_set
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - option
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1193
    functionName: redis.commands.search.commands.AsyncSearchCommands.config_get
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.commands.search.commands.SearchCommands._parse_spellcheck
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - redis.commands.search.commands.SearchCommands._parse_search
    - redis.commands.search.profile_information.ProfileInformation.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.commands.search.commands.SearchCommands._parse_aggregate
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - redis.commands.search._util.to_string
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - <builtin>.float
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - redis.commands.search.result.Result.__init__
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.commands.search.commands.SearchCommands._parse_config_get
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.commands.search.aggregation.AggregateResult.__init__
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.commands.search.commands.SearchCommands._get_aggregate_result
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - <builtin>.iter
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - redis.commands.search.aggregation.Cursor.__init__
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.commands.search.commands.SearchCommands._parse_results
    - fields.items
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.commands.search.commands.SearchCommands._parse_info
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - typing.Protocol.decode
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - asyncio.Lock
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - <builtin>.setattr
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.search.hybrid_result.HybridCursorResult.__init__
    - redis.commands.search.document.Document.__init__
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - client.nodes_manager.connection_kwargs.get
    - redis.cluster.NodesManager.reset
    - redis.commands.search.commands.SearchCommands._parse_profile
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.commands.search.commands.SearchCommands._parse_syndump
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - results.append
    - redis._parsers.commands.CommandPolicies.__init__
    - s.decode
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.commands.search.commands.SearchCommands._parse_hybrid_search
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis._parsers.helpers.pairs_to_dict
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.commands.helpers.get_protocol_version
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1207
    functionName: redis.commands.search.commands.AsyncSearchCommands.load_document
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - s.decode
    - <builtin>.isinstance
    - redis.commands.search.document.Document.__init__
    - <builtin>.setattr
    - fields.items
    - redis.commands.search._util.to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - suggestions
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1222
    functionName: redis.commands.search.commands.AsyncSearchCommands.sugadd
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.client.Pipeline.__init__
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.commands.search.Search.pipeline
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - <builtin>.all
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - typing.cast.send_command
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - redis.asyncio.client.Pipeline.reset
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - <builtin>.getattr
    - SYM_EMPTY.join
    - redis.client.Pipeline.execute
    - typing.cast.read_response
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.asyncio.client.Pipeline.__init__
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.commands.search.AsyncSearch.pipeline
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - redis.client.Pipeline.reset
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - typing.cast
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.asyncio.client.Pipeline.execute
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.client.Pipeline.load_scripts
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - redis.asyncio.client.Pipeline.load_scripts
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c142fb370>
    - <ast.Constant object at 0x7f6c142fb6a0>
    - <ast.Constant object at 0x7f6c142fb0d0>
    - <ast.Constant object at 0x7f6c142fb760>
    argNames:
    - self
    - key
    - prefix
    - fuzzy
    - num
    - with_scores
    - with_payloads
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 1245
    functionName: redis.commands.search.commands.AsyncSearchCommands.sugget
    functionSourceFile: redis.commands.search.commands
    functionUses: 0
    functionsReached:
    - redis.cache.CacheEntry.__init__
    - target_node.update_active_connections_for_reconnect
    - redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections
    - connection._sock.getsockname
    - copy.deepcopy
    - redis.connection.ConnectionPool._get_free_connections
    - random.randint
    - redis.asyncio.cluster.NodesManager.initialize
    - redis.connection.MaintNotificationsAbstractConnectionPool.__init__
    - redis.event.AfterPooledConnectionsInstantiationEvent.__init__
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection
    - redis.asyncio.cluster.NodesManager.remap_host_port
    - redis.cluster.NodesManager.get_nodes_by_server_type
    - connection.disconnect
    - threading.RLock
    - redis.connection.AbstractConnection.send_packed_command
    - redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.connection.ConnectionPool.make_connection
    - maint_notifications_pool_handler.get_handler_for_connection
    - redis.connection.ConnectionPool._get_in_use_connections
    - redis.asyncio.cluster.RedisCluster.get_node
    - redis.event.RegisterReAuthForPubSub.__init__
    - sock.settimeout
    - sock.close
    - redis.asyncio.cluster.RedisCluster._parse_target_nodes
    - conn.disconnect
    - collections.OrderedDict
    - redis_node.connection_pool.get_connection
    - redis.multidb.client.Pipeline.execute_command
    - redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - <builtin>.hasattr
    - key.decode
    - redis.cluster.AbstractRedisCluster.replace_default_node
    - redis.connection.CacheProxyConnection.register_connect_callback
    - redis.asyncio.cluster.NodesManager.get_node
    - random.choice
    - redis.cache.CacheConfig.get_eviction_policy
    - asyncio.sleep
    - redis.asyncio.client.Pipeline.pipeline_execute_command
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - startup_node.execute_command
    - target_nodes.values
    - target_node.disconnect_free_connections
    - redis.cache.CacheFactory.get_cache
    - abc.ABC.__init__
    - redis.asyncio.retry.Retry.call_with_retry
    - redis.sentinel.SentinelConnectionPool.reset
    - redis.event.EventDispatcher.dispatch_async
    - redis.cluster.RedisCluster._get_command_keys
    - redis.cluster.RedisCluster.get_primaries
    - redis.asyncio.connection.AbstractConnection._ping_failed
    - redis.connection.Connection.__init__
    - redis.asyncio.sentinel.SentinelManagedConnection.connect_to
    - redis.cluster.get_node_name
    - version2.split
    - <builtin>.len
    - redis.cluster.NodesManager._get_or_create_cluster_node
    - logger.debug
    - redis.cluster.RedisCluster.get_redis_connection
    - redis.cluster.RedisCluster._internal_execute_command
    - redis.utils.truncate_text
    - target_node.execute_command
    - redis.connection.CacheProxyConnection.get_protocol
    - redis.cluster.RedisCluster._determine_nodes
    - redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications
    - kwargs.get
    - redis.cluster.NodesManager.move_node_to_end_of_cached_nodes
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis_node.parse_response
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.connection.CacheProxyConnection.should_reconnect
    - asyncio.gather
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - redis.cluster.RedisCluster._extracts_socket_address
    - socket.getaddrinfo
    - <builtin>.set
    - redis.cluster.NodesManager.get_node
    - redis.asyncio.cluster.NodesManager.get_nodes_by_server_type
    - redis.asyncio.connection.AbstractConnection.connect
    - redis.client.Redis._close_connection
    - threading.Lock
    - redis.connection.PythonRespSerializer.pack
    - redis.asyncio.connection.AbstractConnection._host_error
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - redis.cluster.NodesManager.remap_host_port
    - redis.cluster.ClusterPipeline.execute_command
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - os.getpid
    - redis.cluster.RedisCluster.get_default_node
    - redis.event.EventDispatcher.register_listeners
    - redis.cluster.RedisCluster._is_nodes_flag
    - redis.cluster.RedisCluster.keyslot
    - redis.connection.AbstractConnection.send_command
    - weakref.WeakMethod
    - redis.connection.AbstractConnection.connect
    - redis.cache.CacheFactory.__init__
    - redis.connection.CacheProxyConnection.can_read
    - parser.set_oss_cluster_maint_push_handler
    - redis.asyncio.connection.AbstractConnection.set_parser
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - parser.set_maintenance_push_handler
    - redis.asyncio.client.Pipeline.immediate_execute_command
    - <builtin>.zip
    - redis.multidb.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.ClusterNode.__init__
    - cred_provider.get_credentials_async
    - redis.asyncio.connection.AbstractConnection.read_response
    - slots.pop
    - redis.client.Pipeline.immediate_execute_command
    - redis.cluster.NodesManager.create_redis_connections
    - redis.asyncio.connection.Connection._connect
    - redis.asyncio.cluster.RedisCluster.get_primaries
    - socket.gethostbyname
    - old.pop
    - redis.utils.get_lib_version
    - redis.connection.CacheProxyConnection.read_response
    - redis.client.Pipeline.pipeline_execute_command
    - redis.asyncio.cluster.NodesManager.set_nodes
    - <builtin>.list
    - sock.setsockopt
    - asyncio.wait_for
    - redis.asyncio.client.Redis.initialize
    - async_timeout.timeout
    - new.items
    - redis.connection.AbstractConnection.check_health
    - redis.cluster.NodesManager.get_node_from_slot
    - redis.asyncio.cluster.RedisCluster.keyslot
    - redis.cluster.RedisCluster.get_node
    - redis.commands.policies.BasePolicyResolver.resolve
    - connection_pools.append
    - typing.cast.should_reconnect
    - version1.split
    - redis.asyncio.connection.AbstractConnection._send_ping
    - redis.connection.CacheProxyConnection.disconnect
    - sock.connect
    - redis.asyncio.connection.AbstractConnection.connect_check_health
    - abc.ABC._event_listeners_mapping.get
    - SYM_EMPTY.join
    - <builtin>.getattr
    - redis.cluster.NodesManager.initialize
    - redis.sentinel.SentinelConnectionPool.owns_connection
    - conn_sock.shutdown
    - logger.isEnabledFor
    - removed_node.disconnect_free_connections
    - conn.should_reconnect
    - redis.cache.CacheConfig.__init__
    - <builtin>.isinstance
    - redis.asyncio.cluster.RedisCluster._determine_slot
    - redis.client.CaseInsensitiveDict.__init__
    - asyncio.timeout
    - output.append
    - redis.connection.AbstractConnection.register_connect_callback
    - redis.cluster.NodesManager.create_redis_node
    - redis.asyncio.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.ConnectionPool._get_pool_lock
    - redis.cluster.is_debug_log_enabled
    - <builtin>.enumerate
    - inspect.isawaitable
    - redis.asyncio.connection.AbstractConnection.send_command
    - redis.utils.ensure_string
    - command.lower
    - redis.connection.ConnectionPool.release
    - redis.asyncio.connection.AbstractConnection.can_read_destructive
    - redis.connection.AbstractConnection._ping_failed
    - k.upper
    - redis.client.Redis.execute_command
    - redis.asyncio.cluster.RedisCluster.initialize
    - redis.cache.CacheConfig.get_cache_class
    - redis.connection.AbstractConnection.read_response
    - hiredis.pack_command
    - pool.disconnect_free_connections
    - response.get
    - redis.connection.AbstractConnection.connect_check_health
    - redis.connection.AbstractConnection.disconnect
    - redis.cluster.NodesManager.move_slot
    - redis.asyncio.connection.ConnectionPool.get_connection
    - nodes_for_slot.append
    - conn.connect
    - redis.utils.compare_versions
    - <builtin>.str
    - num_versions2.append
    - redis.asyncio.cluster.ClusterPipeline.execute_command
    - redis.connection.AbstractConnection.reset_should_reconnect
    - kwargs.update
    - redis.cluster.RedisCluster._parse_target_nodes
    - redis_node.connection_pool.release
    - redis.connection.ConnectionPool.make_connection
    - redis.utils.check_protocol_version
    - redis.asyncio.connection.AbstractConnection.check_health
    - typing.Protocol.__class__.RESULT_CALLBACKS.items
    - redis.asyncio.cluster.RedisCluster._is_node_flag
    - redis.connection.MaintNotificationsAbstractConnectionPool._get_in_use_connections
    - redis.maint_notifications.MaintNotificationsConnectionHandler.__init__
    - redis.asyncio.connection.AbstractConnection.disconnect
    - conn.mark_for_reconnect
    - redis.cluster.NodesManager.check_slots_coverage
    - redis.commands.search.suggestion.SuggestionParser.__init__
    - asyncio.create_task
    - redis.cluster.LoadBalancer._get_random_replica_index
    - redis.connection.AbstractConnection._get_parser
    - disagreements.append
    - <builtin>.super
    - sock.shutdown
    - kwargs.pop
    - sys.exc_info
    - redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled
    - redis.asyncio.connection.AbstractConnection._send_packed_command
    - typing.cast.retry.call_with_retry
    - logging.getLogger
    - redis.asyncio.cluster.RedisCluster.get_replicas
    - redis.asyncio.connection.ConnectionPool.ensure_connection
    - redis.cluster.LoadBalancer.reset
    - redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect
    - <builtin>.range
    - redis.driver_info.resolve_driver_info
    - existing_node.update_active_connections_for_reconnect
    - redis.connection.CacheProxyConnection.connect
    - redis.asyncio.multidb.client.Pipeline.execute_command
    - typing.Protocol.decode
    - command.upper
    - redis.connection.Connection._connect
    - redis.cluster.RedisCluster._process_result
    - redis.connection.AbstractConnection._send_ping
    - redis.asyncio.cluster.NodesManager.aclose
    - conn_sock.close
    - redis.asyncio.connection.Connection.__init__
    - connection.send_command
    - redis.asyncio.cluster.NodesManager.get_node_from_slot
    - redis.connection.CacheProxyConnection.__init__
    - redis.client.Redis._execute_command
    - redis.asyncio.cluster.RedisCluster.get_default_node
    - cred_provider.get_credentials
    - <builtin>.tuple
    - random.randrange
    - asyncio.iscoroutinefunction
    - res.values
    - redis.asyncio.cluster.RedisCluster.execute_command
    - socket.socket
    - parser.set_node_moving_push_handler
    - redis.asyncio.connection.AbstractConnection.pack_command
    - redis.connection.AbstractConnection.on_connect_check_health
    - asyncio.Lock
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.asyncio.connection.AbstractConnection.should_reconnect
    - redis.cluster.ClusterNode.__init__
    - redis.asyncio.cluster.RedisCluster._determine_nodes
    - redis.connection.ConnectionPool.get_protocol
    - tmp_nodes_cache.get
    - textwrap.shorten
    - writer.close
    - redis.commands.policies.AsyncBasePolicyResolver.resolve
    - node.disconnect
    - redis.cluster.RedisCluster._execute_command
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - redis.asyncio.connection.Connection._host_error
    - redis.cluster.RedisCluster.determine_slot
    - old.keys
    - redis.cluster.NodesManager.reset
    - redis.connection.Connection._host_error
    - time.monotonic
    - redis.asyncio.cluster.RedisCluster.aclose
    - redis.asyncio.client.Redis.execute_command
    - <builtin>.dict
    - maint_notifications_config.get_endpoint_type
    - redis.retry.Retry.__init__
    - redis.event.AfterSingleConnectionInstantiationEvent.__init__
    - collections.deque
    - asyncio.get_running_loop
    - redis.connection.MaintNotificationsAbstractConnection.__init__
    - slot_nodes.remove
    - pool.update_active_connections_for_reconnect
    - redis.cluster.RedisCluster.get_replicas
    - <builtin>.sum
    - redis.maint_notifications.MaintNotificationsPoolHandler.__init__
    - redis.asyncio.connection.AbstractConnection.send_packed_command
    - parent.owns_connection
    - redis.connection.AbstractConnection._host_error
    - redis.backoff.NoBackoff.__init__
    - slot_nodes.append
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - redis.asyncio.client.Pipeline.execute_command
    - command_name.split
    - args.append
    - removed_node.update_active_connections_for_reconnect
    - redis.connection.ConnectionPool.get_connection
    - redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications
    - <builtin>.type
    - <builtin>.map
    - redis.asyncio.cluster.NodesManager.move_slot
    - command.encode
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - asyncio.open_connection
    - redis.asyncio.connection.ConnectionPool.get_available_connection
    - binascii.crc_hqx
    - redis.connection.CacheProxyConnection.send_command
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.cluster.get_connection
    - redis.client.CaseInsensitiveDict.update
    - redis.event.AfterAsyncClusterInstantiationEvent.__init__
    - redis.cache.DefaultCache.__init__
    - redis.asyncio.cluster.RedisCluster._execute_command
    - redis._parsers.commands.CommandPolicies.__init__
    - importlib.metadata.version
    - redis.connection.AbstractConnection.should_reconnect
    - redis.cluster.LoadBalancer._get_round_robin_index
    - typing.Protocol._execution_strategy.execute_command
    - redis.cluster.RedisCluster.execute_command
    - time.sleep
    - redis.event.EventDispatcher.dispatch
    - redis.crc.key_slot
    - redis.client.Redis.__init__
    - redis.connection.ConnectionPool.__init__
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.event.EventDispatcher.__init__
    - redis.client.Pipeline.execute_command
    - listener.listen
    - redis.cluster.RedisCluster._should_reinitialized
    - redis.connection.ConnectionPool._checkpid
    - redis.cluster.NodesManager._get_epoch
    - typing.cast.disconnect
    - redis.asyncio.connection.AbstractConnection.on_connect_check_health
    - redis.connection.AbstractConnection.get_protocol
    - num_versions1.append
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.asyncio.connection.AbstractConnection.reset_should_reconnect
    - connection_kwargs.pop
    - conn.getpeername
    - conn.retry.call_with_retry
    - redis.asyncio.connection.Connection._connection_arguments
    - redis.sentinel.SentinelConnectionPoolProxy.reset
    - entry.connection_ref.can_read
    - <builtin>.int
    - writer.transport.get_extra_info
    - redis.event.AfterConnectionReleasedEvent.__init__
    - redis.asyncio.connection.ConnectionPool.release
    - tmp_nodes_cache.values
    - redis.cluster.LoadBalancer.get_server_index
    - typing.Protocol.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS.items
    - entry.connection_ref.read_response
    - key.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.hybrid_query
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1383c7c0>
    - <ast.Constant object at 0x7f6c1383c7f0>
    argNames:
    - self
    - query_string
    - scorer
    - yield_score_as
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: redis.commands.search.hybrid_query.HybridSearchQuery.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: redis.commands.search.hybrid_query.HybridSearchQuery.query_string
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - scorer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: redis.commands.search.hybrid_query.HybridSearchQuery.scorer
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alias
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: redis.commands.search.hybrid_query.HybridSearchQuery.yield_score_as
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: redis.commands.search.hybrid_query.HybridSearchQuery.get_args
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - args.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13dbc310>
    - <ast.Constant object at 0x7f6c1368b5b0>
    - <ast.Constant object at 0x7f6c1368b4c0>
    - <ast.Constant object at 0x7f6c1368b4f0>
    argNames:
    - self
    - vector_field_name
    - vector_data
    - vsim_search_method
    - vsim_search_method_params
    - filter
    - yield_score_as
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - kwargs.items
    - <builtin>.len
    - redis.commands.search.hybrid_query.HybridVsimQuery.vsim_method_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - method
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.vsim_method_params
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 1
    functionsReached:
    - kwargs.items
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 118
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.vector_field
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 122
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.vector_data
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - flt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.filter
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alias
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.yield_score_as
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: redis.commands.search.hybrid_query.HybridVsimQuery.get_args
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - args.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - search_query
    - vector_similarity_query
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: redis.commands.search.hybrid_query.HybridQuery.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: redis.commands.search.hybrid_query.HybridQuery.get_args
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - args.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - method
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 207
    functionName: redis.commands.search.hybrid_query.CombineResultsMethod.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: redis.commands.search.hybrid_query.CombineResultsMethod.get_args
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - args.append
    - args.extend
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 242
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.load
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - fields_str.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fields_str.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fields
    - reducers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 263
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.group_by
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - ret.extend
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.extend
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwexpr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.apply
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - ret.extend
    - apply_args.extend
    - kwexpr.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwexpr.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: apply_args.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sortby
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 306
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.sort_by
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 313
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.filter
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - offset
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 325
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.limit
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - redis.commands.search.aggregation.Limit.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12ecc850>
    - <ast.Constant object at 0x7f6c12ecceb0>
    argNames:
    - self
    - offset
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: redis.commands.search.aggregation.Limit.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 332
    functionName: redis.commands.search.hybrid_query.HybridPostProcessingConfig.build_args
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - redis.commands.search.aggregation.Limit.build_args
    - sortby_args.extend
    - args.extend
    - <builtin>.str
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sortby_args.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: redis.commands.search.aggregation.Limit.build_args
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 2
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conditions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 355
    functionName: redis.commands.search.hybrid_query.HybridFilter.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.query.Filter.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - keyword
    - field
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 343
    functionName: redis.commands.search.query.Filter.__init__
    functionSourceFile: redis.commands.search.query
    functionUses: 3
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1307f880>
    - <ast.Constant object at 0x7f6c1307ff10>
    argNames:
    - self
    - count
    - max_idle
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 371
    functionName: redis.commands.search.hybrid_query.HybridCursorQuery.__init__
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 382
    functionName: redis.commands.search.hybrid_query.HybridCursorQuery.build_args
    functionSourceFile: redis.commands.search.hybrid_query
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.commands.search.aggregation
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: redis.commands.search.aggregation.Reducer.__init__
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alias
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: redis.commands.search.aggregation.Reducer.alias
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: redis.commands.search.aggregation.Reducer.args
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: redis.commands.search.aggregation.SortDirection.__init__
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1412f310>
    argNames:
    - self
    - query
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 95
    functionName: redis.commands.search.aggregation.AggregateRequest.__init__
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 120
    functionName: redis.commands.search.aggregation.AggregateRequest.load
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fields
    - reducers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: redis.commands.search.aggregation.AggregateRequest.group_by
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - ret.extend
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwexpr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: redis.commands.search.aggregation.AggregateRequest.apply
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - kwexpr.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - offset
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 180
    functionName: redis.commands.search.aggregation.AggregateRequest.limit
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - redis.commands.search.aggregation.Limit.__init__
    - redis.commands.search.aggregation.Limit.build_args
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fields
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: redis.commands.search.aggregation.AggregateRequest.sort_by
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.isinstance
    - ret.extend
    - <builtin>.str
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expressions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 271
    functionName: redis.commands.search.aggregation.AggregateRequest.filter
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: redis.commands.search.aggregation.AggregateRequest.with_schema
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 297
    functionName: redis.commands.search.aggregation.AggregateRequest.add_scores
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - scorer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: redis.commands.search.aggregation.AggregateRequest.scorer
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 315
    functionName: redis.commands.search.aggregation.AggregateRequest.verbatim
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139c73d0>
    - <ast.Constant object at 0x7f6c139c7b20>
    argNames:
    - self
    - count
    - max_idle
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 319
    functionName: redis.commands.search.aggregation.AggregateRequest.cursor
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 11
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: redis.commands.search.aggregation.AggregateRequest.build_args
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - ret.append
    - ret.extend
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - dialect
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 363
    functionName: redis.commands.search.aggregation.AggregateRequest.dialect
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 379
    functionName: redis.commands.search.aggregation.Cursor.build_args
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 394
    functionName: redis.commands.search.aggregation.AggregateResult.__repr__
    functionSourceFile: redis.commands.search.aggregation
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.dialect
    functionSourceFile: redis.commands.search.dialect
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.query
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 47
    functionName: redis.commands.search.query.Query.query_string
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ids
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: redis.commands.search.query.Query.limit_ids
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: redis.commands.search.query.Query.return_fields
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - redis.commands.search.query.Query.return_field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d462b0>
    - <ast.Constant object at 0x7f6c12d46c70>
    - <ast.Constant object at 0x7f6c12d46fa0>
    argNames:
    - self
    - field
    - as_field
    - decode_field
    - encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: redis.commands.search.query.Query.return_field
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: redis.commands.search.query.Query._mk_field_list
    functionSourceFile: redis.commands.search.query
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14171b80>
    - <ast.Constant object at 0x7f6c14171a00>
    - <ast.Constant object at 0x7f6c14171c70>
    - <ast.Constant object at 0x7f6c14171520>
    argNames:
    - self
    - fields
    - context_len
    - num_frags
    - sep
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: redis.commands.search.query.Query.summarize
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.query.Query._mk_field_list
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a1f130>
    - <ast.Constant object at 0x7f6c13a1f9a0>
    argNames:
    - self
    - fields
    - tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: redis.commands.search.query.Query.highlight
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.query.Query._mk_field_list
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - language
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 147
    functionName: redis.commands.search.query.Query.language
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - slop
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 156
    functionName: redis.commands.search.query.Query.slop
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 163
    functionName: redis.commands.search.query.Query.timeout
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: redis.commands.search.query.Query.in_order
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - scorer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 177
    functionName: redis.commands.search.query.Query.scorer
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 28
    ICount: 13
    IfCount: 19
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: redis.commands.search.query.Query._get_args_tags
    functionSourceFile: redis.commands.search.query
    functionUses: 5
    functionsReached:
    - args.append
    - <builtin>.isinstance
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - offset
    - num
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 249
    functionName: redis.commands.search.query.Query.paging
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 260
    functionName: redis.commands.search.query.Query.verbatim
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: redis.commands.search.query.Query.no_content
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 272
    functionName: redis.commands.search.query.Query.no_stopwords
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: redis.commands.search.query.Query.with_payloads
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: redis.commands.search.query.Query.with_scores
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fields
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 291
    functionName: redis.commands.search.query.Query.limit_fields
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - flt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 301
    functionName: redis.commands.search.query.Query.add_filter
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a4f820>
    argNames:
    - self
    - field
    - asc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: redis.commands.search.query.Query.sort_by
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - redis.commands.search.query.SortbyField.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4b7f0>
    argNames:
    - self
    - field
    - asc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 380
    functionName: redis.commands.search.query.SortbyField.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expander
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 323
    functionName: redis.commands.search.query.Query.expander
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - dialect
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 332
    functionName: redis.commands.search.query.Query.dialect
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14137e80>
    - <ast.Constant object at 0x7f6c141374c0>
    argNames:
    - self
    - field
    - minval
    - maxval
    - minExclusive
    - maxExclusive
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 351
    functionName: redis.commands.search.query.NumericFilter.__init__
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.query.Filter.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Name object at 0x7f6c13c4b130>
    argNames:
    - self
    - field
    - lon
    - lat
    - radius
    - unit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 373
    functionName: redis.commands.search.query.GeoFilter.__init__
    functionSourceFile: redis.commands.search.query
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.query.Filter.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.index_definition
    functionSourceFile: redis.commands.search.index_definition
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.List object at 0x7f6c136f09d0>
    - <ast.Constant object at 0x7f6c136f02b0>
    - <ast.Constant object at 0x7f6c136f08b0>
    - <ast.Constant object at 0x7f6c136f0a90>
    - <ast.Constant object at 0x7f6c136f0700>
    - <ast.Constant object at 0x7f6c136f0760>
    - <ast.Constant object at 0x7f6c136f01f0>
    - <ast.Constant object at 0x7f6c136f0e50>
    argNames:
    - self
    - prefix
    - filter
    - language_field
    - language
    - score_field
    - score
    - payload_field
    - index_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 15
    functionName: redis.commands.search.index_definition.IndexDefinition.__init__
    functionSourceFile: redis.commands.search.index_definition
    functionUses: 0
    functionsReached:
    - redis.commands.search.index_definition.IndexDefinition._append_index_type
    - redis.commands.search.index_definition.IndexDefinition._append_payload
    - redis.commands.search.index_definition.IndexDefinition._append_score
    - redis.commands.search.index_definition.IndexDefinition._append_prefix
    - <builtin>.len
    - redis.commands.search.index_definition.IndexDefinition._append_language
    - redis.commands.search.index_definition.IndexDefinition._append_filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - index_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: redis.commands.search.index_definition.IndexDefinition._append_index_type
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: redis.commands.search.index_definition.IndexDefinition._append_prefix
    functionSourceFile: redis.commands.search.index_definition
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: redis.commands.search.index_definition.IndexDefinition._append_filter
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - language_field
    - language
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 57
    functionName: redis.commands.search.index_definition.IndexDefinition._append_language
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - score_field
    - score
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: redis.commands.search.index_definition.IndexDefinition._append_score
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - payload_field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: redis.commands.search.index_definition.IndexDefinition._append_payload
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.profile_information
    functionSourceFile: redis.commands.search.profile_information
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: redis.commands.search.profile_information.ProfileInformation.info
    functionSourceFile: redis.commands.search.profile_information
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.hybrid_result
    functionSourceFile: redis.commands.search.hybrid_result
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.document
    functionSourceFile: redis.commands.search.document
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: redis.commands.search.document.Document.__repr__
    functionSourceFile: redis.commands.search.document
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: redis.commands.search.document.Document.__getitem__
    functionSourceFile: redis.commands.search.document
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.field
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14198250>
    - <ast.Constant object at 0x7f6c14198af0>
    - <ast.Constant object at 0x7f6c141984c0>
    - <ast.Constant object at 0x7f6c14198940>
    - <ast.Constant object at 0x7f6c141987c0>
    - <ast.Constant object at 0x7f6c14198610>
    argNames:
    - self
    - name
    - args
    - sortable
    - no_index
    - index_missing
    - index_empty
    - as_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: redis.commands.search.field.Field.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 6
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: redis.commands.search.field.Field.append_arg
    functionSourceFile: redis.commands.search.field
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: redis.commands.search.field.Field.redis_args
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13c4b190>
    - <ast.Constant object at 0x7f6c13c4baf0>
    - <ast.Constant object at 0x7f6c13c4bd00>
    - <ast.Constant object at 0x7f6c13c4bdf0>
    argNames:
    - self
    - name
    - weight
    - no_stem
    - phonetic_matcher
    - withsuffixtrie
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 87
    functionName: redis.commands.search.field.TextField.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached:
    - redis.commands.search.field.Field.append_arg
    - <builtin>.list
    - redis.commands.search.field.Field.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 117
    functionName: redis.commands.search.field.NumericField.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.field.Field.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c141378b0>
    argNames:
    - self
    - name
    - coord_system
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 129
    functionName: redis.commands.search.field.GeoShapeField.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached:
    - args.append
    - <builtin>.list
    - redis.commands.search.field.Field.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 141
    functionName: redis.commands.search.field.GeoField.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - redis.commands.search.field.Field.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d58b80>
    - <ast.Constant object at 0x7f6c12d58760>
    - <ast.Constant object at 0x7f6c12d588b0>
    argNames:
    - self
    - name
    - separator
    - case_sensitive
    - withsuffixtrie
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 154
    functionName: redis.commands.search.field.TagField.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached:
    - args.append
    - <builtin>.list
    - redis.commands.search.field.Field.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - algorithm
    - attributes
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 177
    functionName: redis.commands.search.field.VectorField.__init__
    functionSourceFile: redis.commands.search.field
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.list
    - attributes.items
    - attr_li.extend
    - redis.commands.search.field.Field.__init__
    - algorithm.upper
    linkageType: pythonLinkage
    raised:
    - DataError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: algorithm.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr_li.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.result
    functionSourceFile: redis.commands.search.result
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 86
    functionName: redis.commands.search.result.Result.__repr__
    functionSourceFile: redis.commands.search.result
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search._util
    functionSourceFile: redis.commands.search._util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.decode
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.suggestion
    functionSourceFile: redis.commands.search.suggestion
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13794d00>
    - <ast.Constant object at 0x7f6c13794a60>
    argNames:
    - self
    - string
    - score
    - payload
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 12
    functionName: redis.commands.search.suggestion.Suggestion.__init__
    functionSourceFile: redis.commands.search.suggestion
    functionUses: 1
    functionsReached:
    - redis.commands.search._util.to_string
    - <builtin>.isinstance
    - s.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: redis.commands.search.suggestion.Suggestion.__repr__
    functionSourceFile: redis.commands.search.suggestion
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 50
    functionName: redis.commands.search.suggestion.SuggestionParser.__iter__
    functionSourceFile: redis.commands.search.suggestion
    functionUses: 0
    functionsReached:
    - redis.commands.search.suggestion.Suggestion.__init__
    - s.decode
    - <builtin>.range
    - <builtin>.isinstance
    - <builtin>.float
    - <builtin>.len
    - redis.commands.search._util.to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.data_structure
    functionSourceFile: redis.data_structure
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: redis.data_structure.WeightedList.__init__
    functionSourceFile: redis.data_structure
    functionUses: 6
    functionsReached:
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - item
    - weight
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: redis.data_structure.WeightedList.add
    functionSourceFile: redis.data_structure
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: redis.data_structure.WeightedList.remove
    functionSourceFile: redis.data_structure
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - min_weight
    - max_weight
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: redis.data_structure.WeightedList.get_by_weight_range
    functionSourceFile: redis.data_structure
    functionUses: 0
    functionsReached:
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: redis.data_structure.WeightedList.get_top_n
    functionSourceFile: redis.data_structure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - item
    - new_weight
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 57
    functionName: redis.data_structure.WeightedList.update_weight
    functionSourceFile: redis.data_structure
    functionUses: 0
    functionsReached:
    - redis.data_structure.WeightedList.add
    - <builtin>.enumerate
    - redis.data_structure.WeightedList.remove
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: redis.data_structure.WeightedList.__iter__
    functionSourceFile: redis.data_structure
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: redis.data_structure.WeightedList.__len__
    functionSourceFile: redis.data_structure
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: redis.data_structure.WeightedList.__getitem__
    functionSourceFile: redis.data_structure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.background
    functionSourceFile: redis.background
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: redis.background.BackgroundScheduler.__init__
    functionSourceFile: redis.background
    functionUses: 2
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 17
    functionName: redis.background.BackgroundScheduler.__del__
    functionSourceFile: redis.background
    functionUses: 0
    functionsReached:
    - loop.is_running
    - redis.background.BackgroundScheduler.stop
    - loop.call_soon_threadsafe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: redis.background.BackgroundScheduler.stop
    functionSourceFile: redis.background
    functionUses: 2
    functionsReached:
    - loop.is_running
    - loop.call_soon_threadsafe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.is_running
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.call_soon_threadsafe
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - delay
    - callback
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: redis.background.BackgroundScheduler.run_once
    functionSourceFile: redis.background
    functionUses: 1
    functionsReached:
    - threading.Thread
    - asyncio.new_event_loop
    - thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.new_event_loop
    functionSourceFile: asyncio
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - interval
    - callback
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: redis.background.BackgroundScheduler.run_recurring
    functionSourceFile: redis.background
    functionUses: 5
    functionsReached:
    - threading.Thread
    - asyncio.new_event_loop
    - thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - interval
    - coro
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: redis.background.BackgroundScheduler.run_recurring_async
    functionSourceFile: redis.background
    functionUses: 6
    functionsReached:
    - asyncio.get_running_loop
    - loop.call_later
    - redis.background._async_to_sync_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - loop
    - coro_func
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: redis.background._async_to_sync_wrapper
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 96
    functionName: redis.background.BackgroundScheduler.run_recurring_async.tick
    functionSourceFile: redis.background
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - asyncio.ensure_future
    - <builtin>.zip
    - asyncio.wait_for
    - loop.call_later
    - <builtin>.isinstance
    - db_results.items
    - asyncio.create_task
    - typing.Protocol._health_check_policy.execute
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - asyncio.gather
    - redis.background._async_to_sync_wrapper.wrapped
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 200
    functionName: redis.background._async_to_sync_wrapper.wrapped
    functionSourceFile: redis.background
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - asyncio.ensure_future
    - <builtin>.zip
    - asyncio.wait_for
    - <builtin>.isinstance
    - db_results.items
    - asyncio.create_task
    - typing.Protocol._health_check_policy.execute
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - asyncio.gather
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.call_later
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - loop
    - delay
    - callback
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: redis.background.BackgroundScheduler._call_later
    functionSourceFile: redis.background
    functionUses: 2
    functionsReached:
    - loop.call_later
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - loop
    - interval
    - callback
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 116
    functionName: redis.background.BackgroundScheduler._call_later_recurring
    functionSourceFile: redis.background
    functionUses: 0
    functionsReached:
    - loop.call_later
    - redis.background.BackgroundScheduler._call_later
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - loop
    - interval
    - callback
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 130
    functionName: redis.background.BackgroundScheduler._execute_recurring
    functionSourceFile: redis.background
    functionUses: 0
    functionsReached:
    - loop.call_later
    - redis.background.BackgroundScheduler._call_later
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - event_loop
    - call_soon_cb
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: redis.background._start_event_loop_in_thread
    functionSourceFile: redis.background
    functionUses: 0
    functionsReached:
    - task.cancel
    - asyncio.set_event_loop
    - event_loop.call_soon
    - event_loop.run_until_complete
    - event_loop.close
    - asyncio.gather
    - asyncio.all_tasks
    - event_loop.run_forever
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.set_event_loop
    functionSourceFile: asyncio
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_loop.call_soon
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_loop.run_forever
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.all_tasks
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: task.cancel
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_loop.run_until_complete
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_loop.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 9
    functionsReached:
    - <builtin>.zip
    - asyncio.wait_for
    - <builtin>.isinstance
    - db_results.items
    - asyncio.create_task
    - typing.Protocol._health_check_policy.execute
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - asyncio.gather
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.ensure_future
    functionSourceFile: asyncio
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.http.http_client
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f7f0a0>
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 32
    functionName: redis.http.http_client.HttpResponse.text
    functionSourceFile: redis.http.http_client
    functionUses: 8
    functionsReached:
    - p.split
    - p.lower
    - part.strip
    - ctype.split
    - redis.http.http_client.HttpResponse._get_encoding
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: redis.http.http_client.HttpResponse._get_encoding
    functionSourceFile: redis.http.http_client
    functionUses: 9
    functionsReached:
    - p.split
    - p.lower
    - part.strip
    - ctype.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    functionName: redis.http.http_client.HttpResponse.json
    functionSourceFile: redis.http.http_client
    functionUses: 7
    functionsReached:
    - p.split
    - p.lower
    - redis.http.http_client.HttpResponse._get_encoding
    - part.strip
    - ctype.split
    - redis.http.http_client.HttpResponse.text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctype.split
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: part.strip
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.lower
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.split
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b3d00>
    argNames:
    - self
    - status
    - url
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: redis.http.http_client.HttpError.__init__
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13395bb0>
    - <ast.Constant object at 0x7f6c133950a0>
    - <ast.Name object at 0x7f6c133959a0>
    - <ast.Call object at 0x7f6c13395670>
    - <ast.Constant object at 0x7f6c133951f0>
    - <ast.Constant object at 0x7f6c13395b50>
    - <ast.Constant object at 0x7f6c13395910>
    - <ast.Constant object at 0x7f6c13395c10>
    - <ast.Constant object at 0x7f6c133956a0>
    - <ast.Constant object at 0x7f6c13395fa0>
    - <ast.Constant object at 0x7f6c13395c40>
    - <ast.Constant object at 0x7f6c13395970>
    - <ast.Name object at 0x7f6c133953d0>
    argNames:
    - self
    - base_url
    - headers
    - timeout
    - retry
    - verify_tls
    - ca_file
    - ca_path
    - ca_data
    - client_cert_file
    - client_key_file
    - client_key_password
    - auth_basic
    - user_agent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: redis.http.http_client.HttpClient.__init__
    functionSourceFile: redis.http.http_client
    functionUses: 2
    functionsReached:
    - k.lower
    - base_url.rstrip
    - base_url.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base_url.endswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base_url.rstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.lower
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1436ba30>
    - <ast.Constant object at 0x7f6c1436bfd0>
    - <ast.Constant object at 0x7f6c1436bc70>
    - <ast.Constant object at 0x7f6c1436b040>
    argNames:
    - self
    - path
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 129
    functionName: redis.http.http_client.HttpClient.get
    functionSourceFile: redis.http.http_client
    functionUses: 1
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - redis.http.http_client.HttpClient._json_call
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13949ac0>
    - <ast.Constant object at 0x7f6c139492b0>
    - <ast.Constant object at 0x7f6c13949940>
    - <ast.Constant object at 0x7f6c13949f10>
    - <ast.Constant object at 0x7f6c13949c70>
    argNames:
    - self
    - method
    - path
    - params
    - headers
    - timeout
    - body
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 322
    functionName: redis.http.http_client.HttpClient._json_call
    functionSourceFile: redis.http.http_client
    functionUses: 6
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - HttpError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13527a30>
    - <ast.Constant object at 0x7f6c13527790>
    - <ast.Constant object at 0x7f6c13527c10>
    - <ast.Constant object at 0x7f6c13527bb0>
    argNames:
    - self
    - path
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 149
    functionName: redis.http.http_client.HttpClient.delete
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - redis.http.http_client.HttpClient._json_call
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13923910>
    - <ast.Constant object at 0x7f6c13923ee0>
    - <ast.Constant object at 0x7f6c13923820>
    - <ast.Constant object at 0x7f6c139233d0>
    - <ast.Constant object at 0x7f6c13923a30>
    - <ast.Constant object at 0x7f6c13923e80>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 169
    functionName: redis.http.http_client.HttpClient.post
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - redis.http.http_client.HttpClient._json_call
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.http.http_client.HttpClient._prepare_body
    - json.dumps
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d9d460>
    - <ast.Constant object at 0x7f6c12d9d430>
    argNames:
    - self
    - json_body
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 348
    functionName: redis.http.http_client.HttpClient._prepare_body
    functionSourceFile: redis.http.http_client
    functionUses: 3
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fc1700>
    - <ast.Constant object at 0x7f6c13fc13a0>
    - <ast.Constant object at 0x7f6c13fc11c0>
    - <ast.Constant object at 0x7f6c13fc1d30>
    - <ast.Constant object at 0x7f6c13fc1c40>
    - <ast.Constant object at 0x7f6c13fc1880>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 191
    functionName: redis.http.http_client.HttpClient.put
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - redis.http.http_client.HttpClient._json_call
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.http.http_client.HttpClient._prepare_body
    - json.dumps
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1391bac0>
    - <ast.Constant object at 0x7f6c1391b550>
    - <ast.Constant object at 0x7f6c1391b190>
    - <ast.Constant object at 0x7f6c1391bee0>
    - <ast.Constant object at 0x7f6c1391bd30>
    - <ast.Constant object at 0x7f6c1391b610>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 213
    functionName: redis.http.http_client.HttpClient.patch
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - redis.http.http_client.HttpClient._json_call
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - redis.http.http_client.HttpClient._prepare_body
    - json.dumps
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13387b50>
    - <ast.Constant object at 0x7f6c13387520>
    - <ast.Constant object at 0x7f6c13387e80>
    - <ast.Constant object at 0x7f6c13387c10>
    argNames:
    - self
    - method
    - path
    - params
    - headers
    - body
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 236
    functionName: redis.http.http_client.HttpClient.request
    functionSourceFile: redis.http.http_client
    functionUses: 7
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13033130>
    argNames:
    - self
    - path
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 357
    functionName: redis.http.http_client.HttpClient._build_url
    functionSourceFile: redis.http.http_client
    functionUses: 8
    functionsReached:
    - urllib.parse.urljoin
    - params.items
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - headers
    - body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 374
    functionName: redis.http.http_client.HttpClient._prepare_headers
    functionSourceFile: redis.http.http_client
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    - base64.b64encode
    - prepared.setdefault
    - headers.items
    - k.lower
    - prepared.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method.upper
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.Request
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urljoin.lower
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: redis.http.http_client.HttpClient.request.<lambda1>
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - zlib.decompress
    - redis.http.http_client.HttpClient._make_request
    - headers.get
    - gzip.decompress
    - resp.headers.items
    - resp.read
    - urllib.request.urlopen
    - k.lower
    - resp.geturl
    - redis.http.http_client.HttpClient._maybe_decompress
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d5d700>
    - <ast.Constant object at 0x7f6c12d5d5b0>
    argNames:
    - self
    - request
    - context
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 299
    functionName: redis.http.http_client.HttpClient._make_request
    functionSourceFile: redis.http.http_client
    functionUses: 1
    functionsReached:
    - zlib.decompress
    - headers.get
    - gzip.decompress
    - resp.headers.items
    - resp.read
    - urllib.request.urlopen
    - k.lower
    - resp.geturl
    - redis.http.http_client.HttpClient._maybe_decompress
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.http.http_client.HttpClient.request.<lambda2>
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - redis.utils.dummy_fail
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.http.http_client.HttpClient.request.<lambda3>
    functionSourceFile: redis.http.http_client
    functionUses: 0
    functionsReached:
    - redis.http.http_client.HttpClient._is_retryable_http_error
    - <builtin>.isinstance
    - redis.http.http_client.HttpClient._should_retry_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 316
    functionName: redis.http.http_client.HttpClient._is_retryable_http_error
    functionSourceFile: redis.http.http_client
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - redis.http.http_client.HttpClient._should_retry_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.read
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - content
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 409
    functionName: redis.http.http_client.HttpClient._maybe_decompress
    functionSourceFile: redis.http.http_client
    functionUses: 10
    functionsReached:
    - zlib.decompress
    - headers.get
    - gzip.decompress
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.urlopen
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.read
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.headers.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.geturl
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - status
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 406
    functionName: redis.http.http_client.HttpClient._should_retry_status
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prepared.update
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prepared.setdefault
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gzip.decompress
    functionSourceFile: gzip
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zlib.decompress
    functionSourceFile: zlib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.http
    functionSourceFile: redis.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.auth.token_manager
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: redis.auth.token_manager.CredentialsListener.__init__
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: redis.auth.token_manager.CredentialsListener.on_next
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: redis.auth.token_manager.CredentialsListener.on_error
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - max_attempts
    - delay_in_ms
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: redis.auth.token_manager.RetryPolicy.__init__
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 47
    functionName: redis.auth.token_manager.RetryPolicy.get_max_attempts
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: redis.auth.token_manager.RetryPolicy.get_delay_in_ms
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - expiration_refresh_ratio
    - lower_refresh_bound_millis
    - token_request_execution_timeout_in_ms
    - retry_policy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 65
    functionName: redis.auth.token_manager.TokenManagerConfig.__init__
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: redis.auth.token_manager.TokenManagerConfig.get_expiration_refresh_ratio
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis.auth.token_manager.TokenManagerConfig.get_lower_refresh_bound_millis
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: redis.auth.token_manager.TokenManagerConfig.get_token_request_execution_timeout_in_ms
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: redis.auth.token_manager.TokenManagerConfig.get_retry_policy
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - identity_provider
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 122
    functionName: redis.auth.token_manager.TokenManager.__init__
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: redis.auth.token_manager.TokenManager.__del__
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - logger.info
    - redis.auth.token_manager.TokenManager.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.info
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 208
    functionName: redis.auth.token_manager.TokenManager.stop
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13438520>
    argNames:
    - self
    - listener
    - skip_initial
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: redis.auth.token_manager.TokenManager.start
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - threading.Thread
    - init_done.wait
    - thread.start
    - loop_ready.wait
    - logger.info
    - asyncio.new_event_loop
    - loop.call_soon_threadsafe
    - threading.Event
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: redis.auth.token_manager.TokenManager.start.start_loop
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - loop.run_forever
    - asyncio.set_event_loop
    - loop_ready.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop_ready.set
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.run_forever
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop_ready.wait
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 170
    functionName: redis.auth.token_manager.TokenManager.start.renew_with_callback
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - redis.auth.token_manager.TokenManager._renew_token
    - asyncio.get_running_loop
    - redis.auth.token_manager.TokenManager._calculate_renewal_delay
    - redis.auth.token.TokenResponse.get_token
    - loop.call_later
    - time.sleep
    - datetime.datetime.now
    - logger.info
    - redis.auth.token_manager.TokenManager.acquire_token
    - redis.auth.token_manager.TokenManager._delay_for_lower_refresh
    - logger.warning
    - redis.auth.token.TokenResponse.__init__
    - redis.auth.token_manager.TokenManager._delay_for_ratio_refresh
    - <builtin>.min
    - init_done.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1368b4f0>
    argNames:
    - self
    - skip_initial
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 270
    functionName: redis.auth.token_manager.TokenManager._renew_token
    functionSourceFile: redis.auth.token_manager
    functionUses: 1
    functionsReached:
    - asyncio.get_running_loop
    - redis.auth.token.TokenResponse.get_token
    - loop.call_later
    - time.sleep
    - datetime.datetime.now
    - logger.info
    - redis.auth.token_manager.TokenManager.acquire_token
    - redis.auth.token_manager.TokenManager._delay_for_lower_refresh
    - logger.warning
    - redis.auth.token.TokenResponse.__init__
    - redis.auth.token_manager.TokenManager._delay_for_ratio_refresh
    - <builtin>.min
    - redis.auth.token_manager.TokenManager._calculate_renewal_delay
    linkageType: pythonLinkage
    raised:
    - TokenRenewalErr
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: init_done.set
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: init_done.wait
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c133d3220>
    - <ast.Constant object at 0x7f6c133d31c0>
    - <ast.Constant object at 0x7f6c133d3730>
    argNames:
    - self
    - listener
    - block_for_initial
    - initial_delay_in_ms
    - skip_initial
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: redis.auth.token_manager.TokenManager.start_async
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.Event
    - loop.call_later
    - init_event.wait
    - logger.info
    - redis.auth.token_manager._async_to_sync_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.Event
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - loop
    - coro_func
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 358
    functionName: redis.auth.token_manager._async_to_sync_wrapper
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: init_event.wait
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1412fdf0>
    argNames:
    - self
    - force_refresh
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 214
    functionName: redis.auth.token_manager.TokenManager.acquire_token
    functionSourceFile: redis.auth.token_manager
    functionUses: 2
    functionsReached:
    - redis.auth.token_manager.TokenManager.acquire_token
    - time.sleep
    - redis.auth.token.TokenResponse.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c140aa1c0>
    argNames:
    - self
    - force_refresh
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: redis.auth.token_manager.TokenManager.acquire_token_async
    functionSourceFile: redis.auth.token_manager
    functionUses: 2
    functionsReached:
    - redis.auth.token_manager.TokenManager.acquire_token_async
    - asyncio.sleep
    - redis.auth.token.TokenResponse.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - expire_date
    - issue_date
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 244
    functionName: redis.auth.token_manager.TokenManager._calculate_renewal_delay
    functionSourceFile: redis.auth.token_manager
    functionUses: 4
    functionsReached:
    - redis.auth.token_manager.TokenManager._delay_for_ratio_refresh
    - redis.auth.token_manager.TokenManager._delay_for_lower_refresh
    - <builtin>.min
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expire_date
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: redis.auth.token_manager.TokenManager._delay_for_lower_refresh
    functionSourceFile: redis.auth.token_manager
    functionUses: 5
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - expire_date
    - issue_date
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 258
    functionName: redis.auth.token_manager.TokenManager._delay_for_ratio_refresh
    functionSourceFile: redis.auth.token_manager
    functionUses: 5
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12fc0100>
    - <ast.Constant object at 0x7f6c12fc01c0>
    argNames:
    - self
    - skip_initial
    - init_event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 311
    functionName: redis.auth.token_manager.TokenManager._renew_token_async
    functionSourceFile: redis.auth.token_manager
    functionUses: 1
    functionsReached:
    - asyncio.get_running_loop
    - init_event.set
    - token_res.get_token
    - asyncio.sleep
    - loop.call_later
    - redis.auth.token_manager.TokenManager._delay_for_ratio_refresh
    - datetime.datetime.now
    - logger.info
    - redis.auth.token_manager.TokenManager._delay_for_lower_refresh
    - logger.warning
    - redis.auth.token.TokenResponse.__init__
    - redis.auth.token_manager.TokenManager.acquire_token_async
    - <builtin>.min
    - redis.auth.token_manager._async_to_sync_wrapper
    - redis.auth.token_manager.TokenManager._calculate_renewal_delay
    linkageType: pythonLinkage
    raised:
    - TokenRenewalErr
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token_res.get_token
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: init_event.set
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 369
    functionName: redis.auth.token_manager._async_to_sync_wrapper.wrapped
    functionSourceFile: redis.auth.token_manager
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.ensure_future
    - init_event.set
    - redis.auth.token_manager.TokenManager._renew_token_async
    - token_res.get_token
    - asyncio.sleep
    - loop.call_later
    - redis.auth.token_manager.TokenManager._delay_for_ratio_refresh
    - datetime.datetime.now
    - logger.info
    - redis.auth.token_manager.TokenManager._delay_for_lower_refresh
    - logger.warning
    - redis.auth.token.TokenResponse.__init__
    - redis.auth.token_manager.TokenManager.acquire_token_async
    - <builtin>.min
    - redis.auth.token_manager._async_to_sync_wrapper
    - redis.auth.token_manager.TokenManager._calculate_renewal_delay
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.auth.idp
    functionSourceFile: redis.auth.idp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.auth.idp.IdentityProviderInterface
    functionSourceFile: redis.auth.idp
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13432520>
    argNames:
    - self
    - force_refresh
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: redis.auth.idp.IdentityProviderInterface.request_token
    functionSourceFile: redis.auth.idp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.auth.idp.IdentityProviderConfigInterface
    functionSourceFile: redis.auth.idp
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: redis.auth.idp.IdentityProviderConfigInterface.get_provider
    functionSourceFile: redis.auth.idp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.http.http_client
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13395340>
    - <ast.Constant object at 0x7f6c13395d00>
    - <ast.Constant object at 0x7f6c13395640>
    - <ast.Constant object at 0x7f6c13395ee0>
    argNames:
    - self
    - path
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient.get
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13cdd550>
    - <ast.Constant object at 0x7f6c13cddb20>
    - <ast.Constant object at 0x7f6c13cdd970>
    - <ast.Constant object at 0x7f6c13cdd5b0>
    argNames:
    - self
    - path
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient.delete
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1436b6a0>
    - <ast.Constant object at 0x7f6c1436b820>
    - <ast.Constant object at 0x7f6c1436b0a0>
    - <ast.Constant object at 0x7f6c1436b5b0>
    - <ast.Constant object at 0x7f6c1436b6d0>
    - <ast.Constant object at 0x7f6c1436b3a0>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient.post
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13527b20>
    - <ast.Constant object at 0x7f6c135275e0>
    - <ast.Constant object at 0x7f6c13527880>
    - <ast.Constant object at 0x7f6c13527700>
    - <ast.Constant object at 0x7f6c13527640>
    - <ast.Constant object at 0x7f6c13527f10>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient.put
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c139236d0>
    - <ast.Constant object at 0x7f6c13923130>
    - <ast.Constant object at 0x7f6c139237c0>
    - <ast.Constant object at 0x7f6c13923460>
    - <ast.Constant object at 0x7f6c13923be0>
    - <ast.Constant object at 0x7f6c13923c40>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient.patch
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13923bb0>
    - <ast.Constant object at 0x7f6c13923c70>
    - <ast.Constant object at 0x7f6c13923760>
    - <ast.Constant object at 0x7f6c13923730>
    argNames:
    - self
    - method
    - path
    - params
    - headers
    - body
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: redis.asyncio.http.http_client.AsyncHTTPClient.request
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13fc13d0>
    argNames:
    - self
    - client
    - max_workers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.__init__
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 1
    functionsReached:
    - concurrent.futures.ThreadPoolExecutor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.ThreadPoolExecutor
    functionSourceFile: concurrent
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1391b760>
    - <ast.Constant object at 0x7f6c1391bd90>
    - <ast.Constant object at 0x7f6c1391bf10>
    - <ast.Constant object at 0x7f6c1391b310>
    argNames:
    - self
    - path
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.get
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 1
    functionsReached:
    - asyncio.get_event_loop
    - loop.run_in_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.get_event_loop
    functionSourceFile: asyncio
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.run_in_executor
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13464eb0>
    - <ast.Constant object at 0x7f6c13464d30>
    - <ast.Constant object at 0x7f6c13464a00>
    - <ast.Constant object at 0x7f6c134647f0>
    argNames:
    - self
    - path
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.delete
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached:
    - asyncio.get_event_loop
    - loop.run_in_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1398c8b0>
    - <ast.Constant object at 0x7f6c1398cd30>
    - <ast.Constant object at 0x7f6c1398c1c0>
    - <ast.Constant object at 0x7f6c1398c460>
    - <ast.Constant object at 0x7f6c1398cac0>
    - <ast.Constant object at 0x7f6c1398c0d0>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.post
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached:
    - asyncio.get_event_loop
    - loop.run_in_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13387a90>
    - <ast.Constant object at 0x7f6c13387040>
    - <ast.Constant object at 0x7f6c13387a00>
    - <ast.Constant object at 0x7f6c13387fa0>
    - <ast.Constant object at 0x7f6c13387b20>
    - <ast.Constant object at 0x7f6c133879a0>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.put
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached:
    - asyncio.get_event_loop
    - loop.run_in_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6c136c62b0>
    - <ast.Constant object at 0x7f6c136c6be0>
    - <ast.Constant object at 0x7f6c136c6820>
    - <ast.Constant object at 0x7f6c136c6bb0>
    - <ast.Constant object at 0x7f6c136c6550>
    - <ast.Constant object at 0x7f6c136c67f0>
    argNames:
    - self
    - path
    - json_body
    - data
    - params
    - headers
    - timeout
    - expect_json
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.patch
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached:
    - asyncio.get_event_loop
    - loop.run_in_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12d5d400>
    - <ast.Constant object at 0x7f6c12d5db20>
    - <ast.Constant object at 0x7f6c12d5d0a0>
    - <ast.Constant object at 0x7f6c12d5dd90>
    argNames:
    - self
    - method
    - path
    - params
    - headers
    - body
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 244
    functionName: redis.asyncio.http.http_client.AsyncHTTPClientWrapper.request
    functionSourceFile: redis.asyncio.http.http_client
    functionUses: 0
    functionsReached:
    - asyncio.get_event_loop
    - loop.run_in_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.http
    functionSourceFile: redis.asyncio.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.database
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.database.AsyncDatabase
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: redis.asyncio.multidb.database.AsyncDatabase.client
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - circuit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: redis.asyncio.multidb.database.AsyncDatabase.circuit
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1398c880>
    argNames:
    - self
    - client
    - circuit
    - weight
    - health_check_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: redis.asyncio.multidb.database.Database.__init__
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: redis.asyncio.multidb.database.Database.client
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - circuit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.asyncio.multidb.database.Database.circuit
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: redis.asyncio.multidb.database.Database.__repr__
    functionSourceFile: redis.asyncio.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb
    functionSourceFile: redis.multidb
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.database
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.database.AbstractDatabase
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - weight
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: redis.multidb.database.AbstractDatabase.weight
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - health_check_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 32
    functionName: redis.multidb.database.AbstractDatabase.health_check_url
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b3a60>
    argNames:
    - self
    - weight
    - health_check_url
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: redis.multidb.database.BaseDatabase.__init__
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - weight
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: redis.multidb.database.BaseDatabase.weight
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - health_check_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: redis.multidb.database.BaseDatabase.health_check_url
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.database.SyncDatabase
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: redis.multidb.database.SyncDatabase.client
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - circuit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 86
    functionName: redis.multidb.database.SyncDatabase.circuit
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149ec550>
    argNames:
    - self
    - client
    - circuit
    - weight
    - health_check_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: redis.multidb.database.Database.__init__
    functionSourceFile: redis.multidb.database
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: redis.multidb.database.Database.client
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - circuit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 129
    functionName: redis.multidb.database.Database.circuit
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: redis.multidb.database.Database.__repr__
    functionSourceFile: redis.multidb.database
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.circuit
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.circuit.CircuitBreaker
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - grace_period
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: redis.multidb.circuit.CircuitBreaker.grace_period
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - state
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: redis.multidb.circuit.CircuitBreaker.state
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: redis.multidb.circuit.CircuitBreaker.database
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cb
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: redis.multidb.circuit.CircuitBreaker.on_state_changed
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cb
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: redis.multidb.circuit.BaseCircuitBreaker.__init__
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - grace_period
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: redis.multidb.circuit.BaseCircuitBreaker.grace_period
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - state
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: redis.multidb.circuit.BaseCircuitBreaker.state
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached:
    - enum.Enum.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 93
    functionName: redis.multidb.circuit.BaseCircuitBreaker.database
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.circuit.BaseCircuitBreaker
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cb
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: redis.multidb.circuit.BaseCircuitBreaker.on_state_changed
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cb
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 105
    functionName: redis.multidb.circuit.PBListener.__init__
    functionSourceFile: redis.multidb.circuit
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - cb
    - old_state
    - new_state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: redis.multidb.circuit.PBListener.state_change
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached:
    - enum.Enum.__init__
    - redis.multidb.circuit.PBCircuitBreakerAdapter.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cb
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: redis.multidb.circuit.PBCircuitBreakerAdapter.__init__
    functionSourceFile: redis.multidb.circuit
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cb
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: redis.multidb.circuit.PBCircuitBreakerAdapter.on_state_changed
    functionSourceFile: redis.multidb.circuit
    functionUses: 0
    functionsReached:
    - redis.multidb.circuit.PBListener.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.config
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 53
    functionName: redis.asyncio.multidb.config.default_event_dispatcher
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - abc.ABC.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.EventDispatcher.__init__
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.event.EventDispatcher.register_listeners
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.config.DatabaseConfig
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 91
    functionName: redis.asyncio.multidb.config.DatabaseConfig.default_circuit_breaker
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - redis.multidb.circuit.PBCircuitBreakerAdapter.__init__
    - pybreaker.CircuitBreaker
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pybreaker.CircuitBreaker
    functionSourceFile: pybreaker
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.config.MultiDbConfig
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - redis.asyncio.retry.Retry.__init__
    - <builtin>.super
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 162
    functionName: redis.asyncio.multidb.config.MultiDbConfig.databases
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - database_config.client_kwargs.update
    - database_config.default_circuit_breaker
    - threading.RLock
    - redis.asyncio.retry.Retry.__init__
    - redis.data_structure.WeightedList.add
    - redis.asyncio.multidb.database.Database.__init__
    - database_config.from_pool.set_retry
    - redis.backoff.NoBackoff.__init__
    - <builtin>.super
    - <builtin>.len
    - redis.data_structure.WeightedList.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database_config.client_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database_config.from_pool.set_retry
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database_config.default_circuit_breaker
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 203
    functionName: redis.asyncio.multidb.config.MultiDbConfig.default_failure_detectors
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.__init__
    - threading.RLock
    - datetime.timedelta
    - redis.multidb.failure_detector.CommandFailureDetector.__init__
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f6c13687ca0>
    - <ast.Name object at 0x7f6c13687bb0>
    - <ast.Name object at 0x7f6c13687cd0>
    - <ast.Constant object at 0x7f6c13687520>
    argNames:
    - self
    - min_num_failures
    - failure_rate_threshold
    - failure_detection_window
    - error_types
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: redis.multidb.failure_detector.CommandFailureDetector.__init__
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 2
    functionsReached:
    - datetime.timedelta
    - datetime.datetime.now
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 214
    functionName: redis.asyncio.multidb.config.MultiDbConfig.default_health_checks
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - abc.ABC.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 219
    functionName: redis.asyncio.multidb.config.MultiDbConfig.default_failover_strategy
    functionSourceFile: redis.asyncio.multidb.config
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.failover.WeightBasedFailoverStrategy.__init__
    - redis.data_structure.WeightedList.__init__
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 58
    functionName: redis.asyncio.multidb.failover.WeightBasedFailoverStrategy.__init__
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 1
    functionsReached:
    - redis.data_structure.WeightedList.__init__
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.healthcheck
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.healthcheck.HealthCheck
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: redis.asyncio.multidb.healthcheck.HealthCheck.check_health
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.healthcheck.HealthCheckPolicy
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: redis.asyncio.multidb.healthcheck.HealthCheckPolicy.health_check_probes
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 42
    functionName: redis.asyncio.multidb.healthcheck.HealthCheckPolicy.health_check_delay
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 47
    functionName: redis.asyncio.multidb.healthcheck.HealthCheckPolicy.execute
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy.__init__
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy.health_check_probes
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy.health_check_delay
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy.execute
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: redis.asyncio.multidb.healthcheck.HealthyAllPolicy.__init__
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: redis.asyncio.multidb.healthcheck.HealthyAllPolicy.execute
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - health_check.check_health
    - asyncio.sleep
    linkageType: pythonLinkage
    raised:
    - UnhealthyDatabaseException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: health_check.check_health
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy.__init__
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy.execute
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - health_check.check_health
    - asyncio.sleep
    linkageType: pythonLinkage
    raised:
    - UnhealthyDatabaseException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: redis.asyncio.multidb.healthcheck.HealthyAnyPolicy.__init__
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: redis.asyncio.multidb.healthcheck.HealthyAnyPolicy.execute
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - redis.multidb.exception.UnhealthyDatabaseException.__init__
    - asyncio.sleep
    - <builtin>.super
    - <builtin>.range
    - health_check.check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - message
    - database
    - original_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 8
    functionName: redis.multidb.exception.UnhealthyDatabaseException.__init__
    functionSourceFile: redis.multidb.exception
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: redis.asyncio.multidb.healthcheck.PingHealthCheck.check_health
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - database.client.execute_command
    - <builtin>.isinstance
    - database.client.get_nodes
    - node.redis_connection.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database.client.execute_command
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database.client.get_nodes
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.execute_command
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c1336cbe0>
    - <ast.Name object at 0x7f6c1336c250>
    - <ast.Name object at 0x7f6c1336c490>
    - <ast.Constant object at 0x7f6c1336c610>
    - <ast.Constant object at 0x7f6c1336c4c0>
    - <ast.Constant object at 0x7f6c1336c700>
    - <ast.Constant object at 0x7f6c1336c9d0>
    - <ast.Constant object at 0x7f6c1336c8b0>
    - <ast.Constant object at 0x7f6c1336cfd0>
    - <ast.Constant object at 0x7f6c1336cfa0>
    - <ast.Constant object at 0x7f6c1336cc40>
    argNames:
    - self
    - rest_api_port
    - lag_aware_tolerance
    - timeout
    - auth_basic
    - verify_tls
    - ca_file
    - ca_path
    - ca_data
    - client_cert_file
    - client_key_file
    - client_key_password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 197
    functionName: redis.asyncio.multidb.healthcheck.LagAwareHealthCheck.__init__
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - base_url.rstrip
    - redis.http.http_client.HttpClient.__init__
    - base_url.endswith
    - concurrent.futures.ThreadPoolExecutor
    - redis.retry.Retry.__init__
    - redis.backoff.NoBackoff.__init__
    - <builtin>.super
    - k.lower
    - redis.asyncio.http.http_client.AsyncHTTPClientWrapper.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 246
    functionName: redis.asyncio.multidb.healthcheck.LagAwareHealthCheck.check_health
    functionSourceFile: redis.asyncio.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - database.client.get_connection_kwargs
    - loop.run_in_executor
    - <builtin>.isinstance
    - logger.warning
    - redis.asyncio.http.http_client.AsyncHTTPClientWrapper.get
    - asyncio.get_event_loop
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database.client.get_connection_kwargs
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.exception
    functionSourceFile: redis.multidb.exception
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.failure_detector
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.failure_detector.AsyncFailureDetector
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exception
    - cmd
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 8
    functionName: redis.asyncio.multidb.failure_detector.AsyncFailureDetector.register_failure
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cmd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: redis.asyncio.multidb.failure_detector.AsyncFailureDetector.register_command_execution
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_executor
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: redis.asyncio.multidb.failure_detector.AsyncFailureDetector.set_command_executor
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exception
    - cmd
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 31
    functionName: redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.register_failure
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - redis.multidb.failure_detector.CommandFailureDetector._check_threshold
    - datetime.timedelta
    - math.ceil
    - redis.multidb.failure_detector.CommandFailureDetector.register_failure
    - datetime.datetime.now
    - redis.multidb.failure_detector.CommandFailureDetector._reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exception
    - cmd
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 70
    functionName: redis.multidb.failure_detector.CommandFailureDetector.register_failure
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - redis.multidb.failure_detector.CommandFailureDetector._check_threshold
    - datetime.timedelta
    - math.ceil
    - datetime.datetime.now
    - redis.multidb.failure_detector.CommandFailureDetector._reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cmd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 34
    functionName: redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.register_command_execution
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached:
    - redis.multidb.failure_detector.CommandFailureDetector.register_command_execution
    - datetime.timedelta
    - redis.multidb.failure_detector.CommandFailureDetector._reset
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cmd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 83
    functionName: redis.multidb.failure_detector.CommandFailureDetector.register_command_execution
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 1
    functionsReached:
    - datetime.timedelta
    - redis.multidb.failure_detector.CommandFailureDetector._reset
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_executor
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.set_command_executor
    functionSourceFile: redis.asyncio.multidb.failure_detector
    functionUses: 0
    functionsReached:
    - redis.multidb.failure_detector.CommandFailureDetector.set_command_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_executor
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: redis.multidb.failure_detector.CommandFailureDetector.set_command_executor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.failure_detector
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.failure_detector.FailureDetector
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exception
    - cmd
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: redis.multidb.failure_detector.FailureDetector.register_failure
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cmd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: redis.multidb.failure_detector.FailureDetector.register_command_execution
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_executor
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: redis.multidb.failure_detector.FailureDetector.set_command_executor
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.timedelta
    functionSourceFile: datetime
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: redis.multidb.failure_detector.CommandFailureDetector._check_threshold
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 2
    functionsReached:
    - datetime.timedelta
    - math.ceil
    - redis.multidb.failure_detector.CommandFailureDetector._reset
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: redis.multidb.failure_detector.CommandFailureDetector._reset
    functionSourceFile: redis.multidb.failure_detector
    functionUses: 5
    functionsReached:
    - datetime.timedelta
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.ceil
    functionSourceFile: math
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.failover
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.failover.AsyncFailoverStrategy
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: redis.asyncio.multidb.failover.AsyncFailoverStrategy.database
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - databases
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: redis.asyncio.multidb.failover.AsyncFailoverStrategy.set_databases
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.failover.FailoverStrategyExecutor
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: redis.asyncio.multidb.failover.FailoverStrategyExecutor.failover_attempts
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: redis.asyncio.multidb.failover.FailoverStrategyExecutor.failover_delay
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: redis.asyncio.multidb.failover.FailoverStrategyExecutor.strategy
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: redis.asyncio.multidb.failover.FailoverStrategyExecutor.execute
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: redis.asyncio.multidb.failover.WeightBasedFailoverStrategy.database
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached:
    - redis.data_structure.WeightedList.__iter__
    linkageType: pythonLinkage
    raised:
    - NoValidDatabaseException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - databases
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.asyncio.multidb.failover.WeightBasedFailoverStrategy.set_databases
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f6c13dbc910>
    - <ast.Name object at 0x7f6c13dbc8e0>
    argNames:
    - self
    - strategy
    - failover_attempts
    - failover_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.__init__
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.failover_attempts
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.failover_delay
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.strategy
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.execute
    functionSourceFile: redis.asyncio.multidb.failover
    functionUses: 3
    functionsReached:
    - time.time
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor._reset
    linkageType: pythonLinkage
    raised:
    - TemporaryUnavailableException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor._reset
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.time
    functionSourceFile: time
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb
    functionSourceFile: redis.asyncio.multidb
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.event
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - old_database
    - new_database
    - command_executor
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 14
    functionName: redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.old_database
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.new_database
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.command_executor
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.kwargs
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: redis.asyncio.multidb.event.ResubscribeOnActiveDatabaseChanged.listen
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached:
    - event.new_database.client.pubsub
    - new_pubsub.on_connect
    - old_pubsub.aclose
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.new_database.client.pubsub
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_pubsub.on_connect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_pubsub.aclose
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: redis.asyncio.multidb.event.CloseConnectionOnActiveDatabaseChanged.listen
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached:
    - event.old_database.client.connection_pool.update_active_connections_for_reconnect
    - <builtin>.isinstance
    - event.old_database.client.aclose
    - event.old_database.client.connection_pool.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.old_database.client.aclose
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.old_database.client.connection_pool.update_active_connections_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.old_database.client.connection_pool.disconnect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detectors
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: redis.asyncio.multidb.event.RegisterCommandFailure.__init__
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: redis.asyncio.multidb.event.RegisterCommandFailure.listen
    functionSourceFile: redis.asyncio.multidb.event
    functionUses: 0
    functionsReached:
    - failure_detector.register_failure
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: failure_detector.register_failure
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.client
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 40
    functionName: redis.asyncio.multidb.client.MultiDBClient.__init__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - config.default_failure_detectors
    - abc.ABC.__init__
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.__init__
    - config.databases
    - datetime.timedelta
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.__init__
    - config.default_health_checks
    - datetime.datetime.now
    - threading.Lock
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher
    - <builtin>.super
    - fd.set_command_executor
    - config.default_failover_strategy
    - asyncio.Lock
    - redis.background.BackgroundScheduler.__init__
    - config.health_check_policy.value
    - redis.asyncio.multidb.event.RegisterCommandFailure.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.databases
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.default_health_checks
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.health_check_policy.value
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.default_failure_detectors
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.default_failover_strategy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Name object at 0x7f6c12d3b040>
    - <ast.Name object at 0x7f6c12d3bb80>
    - <ast.Name object at 0x7f6c12d3b880>
    argNames:
    - self
    - failure_detectors
    - databases
    - command_retry
    - failover_strategy
    - event_dispatcher
    - failover_attempts
    - failover_delay
    - auto_fallback_interval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 118
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.__init__
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - abc.ABC.__init__
    - datetime.timedelta
    - datetime.datetime.now
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher
    - <builtin>.super
    - fd.set_command_executor
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.__init__
    - redis.asyncio.multidb.event.RegisterCommandFailure.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 86
    functionName: redis.asyncio.multidb.client.MultiDBClient.__aenter__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient.initialize
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - loop.call_later
    - typing.Protocol._health_check_policy.execute
    - asyncio.get_running_loop
    - asyncio.wait_for
    - <builtin>.isinstance
    - <builtin>.sum
    - <builtin>.len
    - asyncio.gather
    - redis.background.BackgroundScheduler.run_recurring_async
    - results.values
    - logger.debug
    - redis.background._async_to_sync_wrapper
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - database.circuit.on_state_changed
    - asyncio.create_task
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 99
    functionName: redis.asyncio.multidb.client.MultiDBClient.initialize
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 5
    functionsReached:
    - <builtin>.zip
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - loop.call_later
    - typing.Protocol._health_check_policy.execute
    - asyncio.get_running_loop
    - asyncio.wait_for
    - <builtin>.isinstance
    - <builtin>.sum
    - <builtin>.len
    - asyncio.gather
    - redis.background.BackgroundScheduler.run_recurring_async
    - results.values
    - logger.debug
    - redis.background._async_to_sync_wrapper
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - database.circuit.on_state_changed
    - asyncio.create_task
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    linkageType: pythonLinkage
    raised:
    - NoValidDatabaseException
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: redis.asyncio.multidb.client.MultiDBClient.__aexit__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 1
    functionsReached:
    - hc_task.cancel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hc_task.cancel
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 359
    functionName: redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 6
    functionsReached:
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - <builtin>.zip
    - asyncio.wait_for
    - <builtin>.isinstance
    - <builtin>.sum
    - asyncio.create_task
    - typing.Protocol._health_check_policy.execute
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - <builtin>.len
    - asyncio.gather
    - results.values
    - logger.debug
    linkageType: pythonLinkage
    raised:
    - InitialHealthCheckFailedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: database.circuit.on_state_changed
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 14
    functionsReached:
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: redis.asyncio.multidb.client.MultiDBClient.get_databases
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: redis.asyncio.multidb.client.MultiDBClient.set_active_database
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - typing.Protocol._health_check_policy.execute
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    - NoValidDatabaseException
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 383
    functionName: redis.asyncio.multidb.client.MultiDBClient._check_db_health
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 13
    functionsReached:
    - typing.Protocol._health_check_policy.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a4f220>
    argNames:
    - self
    - config
    - skip_initial_health_check
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 164
    functionName: redis.asyncio.multidb.client.MultiDBClient.add_database
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - config.from_pool.set_retry
    - redis.asyncio.multidb.client.MultiDBClient._change_active_database
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - redis.asyncio.retry.Retry.__init__
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.database.Database.__init__
    - typing.Protocol._health_check_policy.execute
    - redis.backoff.NoBackoff.__init__
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - config.client_kwargs.update
    - <builtin>.super
    - config.default_circuit_breaker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.client_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.from_pool.set_retry
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.default_circuit_breaker
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - new_database
    - highest_weight_database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 213
    functionName: redis.asyncio.multidb.client.MultiDBClient._change_active_database
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 2
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 222
    functionName: redis.asyncio.multidb.client.MultiDBClient.remove_database
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - database
    - weight
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 235
    functionName: redis.asyncio.multidb.client.MultiDBClient.update_database_weight
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.client.MultiDBClient._change_active_database
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 254
    functionName: redis.asyncio.multidb.client.MultiDBClient.add_failure_detector
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - healthcheck
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 260
    functionName: redis.asyncio.multidb.client.MultiDBClient.add_health_check
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 267
    functionName: redis.asyncio.multidb.client.MultiDBClient.execute_command
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient.initialize
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - loop.call_later
    - typing.Protocol._health_check_policy.execute
    - asyncio.get_running_loop
    - asyncio.wait_for
    - <builtin>.isinstance
    - <builtin>.sum
    - <builtin>.len
    - asyncio.gather
    - redis.background.BackgroundScheduler.run_recurring_async
    - results.values
    - logger.debug
    - redis.background._async_to_sync_wrapper
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command
    - database.circuit.on_state_changed
    - asyncio.create_task
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: redis.asyncio.multidb.client.MultiDBClient.pipeline
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 435
    functionName: redis.asyncio.multidb.client.Pipeline.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - shard_hint
    - value_from_callable
    - watch_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 282
    functionName: redis.asyncio.multidb.client.MultiDBClient.transaction
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient.initialize
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - loop.call_later
    - typing.Protocol._health_check_policy.execute
    - asyncio.get_running_loop
    - asyncio.wait_for
    - <builtin>.isinstance
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction
    - <builtin>.sum
    - <builtin>.len
    - asyncio.gather
    - redis.background.BackgroundScheduler.run_recurring_async
    - results.values
    - logger.debug
    - redis.background._async_to_sync_wrapper
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - database.circuit.on_state_changed
    - asyncio.create_task
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - shard_hint
    - value_from_callable
    - watch_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 235
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 304
    functionName: redis.asyncio.multidb.client.MultiDBClient.pubsub
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient.initialize
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - loop.call_later
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.pubsub
    - typing.Protocol._health_check_policy.execute
    - asyncio.get_running_loop
    - asyncio.wait_for
    - <builtin>.isinstance
    - <builtin>.sum
    - <builtin>.len
    - asyncio.gather
    - redis.background.BackgroundScheduler.run_recurring_async
    - results.values
    - logger.debug
    - redis.background._async_to_sync_wrapper
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - redis.asyncio.multidb.client.PubSub.__init__
    - database.circuit.on_state_changed
    - asyncio.create_task
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 503
    functionName: redis.asyncio.multidb.client.PubSub.__init__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.pubsub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: db_results.items
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.values
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.Protocol._health_check_policy.execute
    functionSourceFile: typing
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - circuit
    - old_state
    - new_state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 401
    functionName: redis.asyncio.multidb.client.MultiDBClient._on_circuit_state_change_callback
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - loop.call_later
    - logger.info
    - asyncio.create_task
    - typing.Protocol._health_check_policy.execute
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 421
    functionName: redis.asyncio.multidb.client.MultiDBClient.aclose
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - circuit
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 426
    functionName: redis.asyncio.multidb.client._half_open_circuit
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 439
    functionName: redis.asyncio.multidb.client.Pipeline.__aenter__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 442
    functionName: redis.asyncio.multidb.client.Pipeline.__aexit__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - hc_task.cancel
    - redis.asyncio.multidb.client.Pipeline.reset
    - redis.asyncio.multidb.client.MultiDBClient.__aexit__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 459
    functionName: redis.asyncio.multidb.client.Pipeline.reset
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 446
    functionName: redis.asyncio.multidb.client.Pipeline.__await__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.client.Pipeline._async_self
    - redis.asyncio.multidb.client.Pipeline.__await__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 449
    functionName: redis.asyncio.multidb.client.Pipeline._async_self
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 452
    functionName: redis.asyncio.multidb.client.Pipeline.__len__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 455
    functionName: redis.asyncio.multidb.client.Pipeline.__bool__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 462
    functionName: redis.asyncio.multidb.client.Pipeline.aclose
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 466
    functionName: redis.asyncio.multidb.client.Pipeline.pipeline_execute_command
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 497
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 485
    functionName: redis.asyncio.multidb.client.Pipeline.execute
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - db_results.items
    - redis.asyncio.multidb.client.MultiDBClient.initialize
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline
    - redis.asyncio.multidb.client.Pipeline.reset
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.asyncio.multidb.client.MultiDBClient._check_databases_health
    - loop.call_later
    - typing.Protocol._health_check_policy.execute
    - asyncio.get_running_loop
    - asyncio.wait_for
    - <builtin>.isinstance
    - <builtin>.sum
    - <builtin>.len
    - asyncio.gather
    - redis.background.BackgroundScheduler.run_recurring_async
    - results.values
    - logger.debug
    - redis.background._async_to_sync_wrapper
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - database.circuit.on_state_changed
    - asyncio.create_task
    - redis.asyncio.multidb.client.MultiDBClient._check_db_health
    - <builtin>.tuple
    - redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_stack
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 205
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.pubsub
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 514
    functionName: redis.asyncio.multidb.client.PubSub.__aenter__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 517
    functionName: redis.asyncio.multidb.client.PubSub.__aexit__
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.asyncio.multidb.client.PubSub.aclose
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 520
    functionName: redis.asyncio.multidb.client.PubSub.aclose
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 8
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 524
    functionName: redis.asyncio.multidb.client.PubSub.subscribed
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 527
    functionName: redis.asyncio.multidb.client.PubSub.execute_command
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 532
    functionName: redis.asyncio.multidb.client.PubSub.psubscribe
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 544
    functionName: redis.asyncio.multidb.client.PubSub.punsubscribe
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 553
    functionName: redis.asyncio.multidb.client.PubSub.subscribe
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 565
    functionName: redis.asyncio.multidb.client.PubSub.unsubscribe
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c12e5fa30>
    - <ast.Constant object at 0x7f6c139c77c0>
    argNames:
    - self
    - ignore_subscribe_messages
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 574
    functionName: redis.asyncio.multidb.client.PubSub.get_message
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exception_handler
    - poll_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 590
    functionName: redis.asyncio.multidb.client.PubSub.run
    functionSourceFile: redis.asyncio.multidb.client
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13464e20>
    - <ast.Constant object at 0x7f6c134645b0>
    argNames:
    - self
    - sleep_time
    - exception_handler
    - pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.command_executor
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.databases
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.failure_detectors
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.add_failure_detector
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.active_database
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 56
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.set_active_database
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pubsub
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.active_pubsub
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.failover_strategy_executor
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.command_retry
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 85
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.pubsub
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_command
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_stack
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 95
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_pipeline
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - transaction
    - watches
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_transaction
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 107
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_pubsub_method
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sleep_time
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_pubsub_run
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fd.set_command_executor
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 324
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - abc.ABC.__init__
    - redis.asyncio.multidb.event.RegisterCommandFailure.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 10
    functionsReached:
    - datetime.timedelta
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 161
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.databases
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 165
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.failure_detectors
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.add_failure_detector
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.active_database
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pubsub
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 194
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.active_pubsub
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 198
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.failover_strategy_executor
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.command_retry
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 214
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command.callback
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - detector.register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cmd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 6
    functionsReached:
    - detector.register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7f6c136f0910>
    argNames:
    - self
    - callback
    - cmds
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    functionSourceFile: ''
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 224
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - pipe.execute_command
    - detector.register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - pipe.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pipe.execute_command
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - detector.register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 257
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - detector.register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - asyncio.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 272
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 288
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.wrapper
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - asyncio.iscoroutinefunction
    - pipe.execute_command
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor._reset
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback
    - time.time
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback
    - <builtin>.getattr
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._check_active_database
    - datetime.timedelta
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command.callback
    - detector.register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - pipe.execute
    - datetime.datetime.now
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 298
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._check_active_database
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 2
    functionsReached:
    - time.time
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - datetime.timedelta
    - datetime.datetime.now
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.execute
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor._reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda1>
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.wrapper
    - asyncio.iscoroutinefunction
    - pipe.execute_command
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor._reset
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback
    - time.time
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback
    - <builtin>.getattr
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._check_active_database
    - datetime.timedelta
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command.callback
    - detector.register_command_execution
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - redis.asyncio.multidb.event.AsyncActiveDatabaseChanged.__init__
    - pipe.execute
    - datetime.datetime.now
    - redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda2>
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 0
    functionsReached:
    - redis.asyncio.multidb.command_executor.DefaultCommandExecutor._on_command_fail
    - redis.event.OnCommandsFailEvent.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - error
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 315
    functionName: redis.asyncio.multidb.command_executor.DefaultCommandExecutor._on_command_fail
    functionSourceFile: redis.asyncio.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.event.OnCommandsFailEvent.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: detector.register_command_execution
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.config
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 52
    functionName: redis.multidb.config.default_event_dispatcher
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - abc.ABC.__init__
    - redis.event.RegisterReAuthForSingleConnection.__init__
    - redis.event.RegisterReAuthForAsyncClusterNodes.__init__
    - redis.event.EventDispatcher.__init__
    - redis.event.RegisterReAuthForPubSub.__init__
    - threading.Lock
    - redis.event.EventDispatcher.register_listeners
    - redis.event.RegisterReAuthForPooledConnections.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.config.DatabaseConfig
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: redis.multidb.config.DatabaseConfig.default_circuit_breaker
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - redis.multidb.circuit.PBCircuitBreakerAdapter.__init__
    - pybreaker.CircuitBreaker
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.multidb.config.MultiDbConfig
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - redis.backoff.ExponentialWithJitterBackoff.__init__
    - dataclasses.field
    - <builtin>.super
    - redis.retry.Retry.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 162
    functionName: redis.multidb.config.MultiDbConfig.databases
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - database_config.default_circuit_breaker
    - threading.RLock
    - redis.data_structure.WeightedList.add
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - redis.multidb.database.Database.__init__
    - redis.retry.Retry.__init__
    - database_config.from_pool.set_retry
    - redis.backoff.NoBackoff.__init__
    - <builtin>.super
    - <builtin>.len
    - redis.data_structure.WeightedList.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 210
    functionName: redis.multidb.config.MultiDbConfig.default_failure_detectors
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - datetime.timedelta
    - redis.multidb.failure_detector.CommandFailureDetector.__init__
    - datetime.datetime.now
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: redis.multidb.config.MultiDbConfig.default_health_checks
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - abc.ABC.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 224
    functionName: redis.multidb.config.MultiDbConfig.default_failover_strategy
    functionSourceFile: redis.multidb.config
    functionUses: 0
    functionsReached:
    - redis.data_structure.WeightedList.__init__
    - redis.multidb.failover.WeightBasedFailoverStrategy.__init__
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 58
    functionName: redis.multidb.failover.WeightBasedFailoverStrategy.__init__
    functionSourceFile: redis.multidb.failover
    functionUses: 1
    functionsReached:
    - redis.data_structure.WeightedList.__init__
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.failover
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.failover.FailoverStrategy
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: redis.multidb.failover.FailoverStrategy.database
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - databases
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: redis.multidb.failover.FailoverStrategy.set_databases
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.failover.FailoverStrategyExecutor
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: redis.multidb.failover.FailoverStrategyExecutor.failover_attempts
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: redis.multidb.failover.FailoverStrategyExecutor.failover_delay
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: redis.multidb.failover.FailoverStrategyExecutor.strategy
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: redis.multidb.failover.FailoverStrategyExecutor.execute
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: redis.multidb.failover.WeightBasedFailoverStrategy.database
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached:
    - redis.data_structure.WeightedList.__iter__
    linkageType: pythonLinkage
    raised:
    - NoValidDatabaseException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - databases
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: redis.multidb.failover.WeightBasedFailoverStrategy.set_databases
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f6c13442970>
    - <ast.Name object at 0x7f6c13442ac0>
    argNames:
    - self
    - strategy
    - failover_attempts
    - failover_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: redis.multidb.failover.DefaultFailoverStrategyExecutor.__init__
    functionSourceFile: redis.multidb.failover
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: redis.multidb.failover.DefaultFailoverStrategyExecutor.failover_attempts
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: redis.multidb.failover.DefaultFailoverStrategyExecutor.failover_delay
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: redis.multidb.failover.DefaultFailoverStrategyExecutor.strategy
    functionSourceFile: redis.multidb.failover
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: redis.multidb.failover.DefaultFailoverStrategyExecutor.execute
    functionSourceFile: redis.multidb.failover
    functionUses: 3
    functionsReached:
    - time.time
    - redis.multidb.failover.DefaultFailoverStrategyExecutor._reset
    linkageType: pythonLinkage
    raised:
    - TemporaryUnavailableException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: redis.multidb.failover.DefaultFailoverStrategyExecutor._reset
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.healthcheck
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.healthcheck.HealthCheck
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: redis.multidb.healthcheck.HealthCheck.check_health
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.healthcheck.HealthCheckPolicy
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: redis.multidb.healthcheck.HealthCheckPolicy.health_check_probes
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: redis.multidb.healthcheck.HealthCheckPolicy.health_check_delay
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: redis.multidb.healthcheck.HealthCheckPolicy.execute
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: redis.multidb.healthcheck.AbstractHealthCheckPolicy.__init__
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: redis.multidb.healthcheck.AbstractHealthCheckPolicy.health_check_probes
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: redis.multidb.healthcheck.AbstractHealthCheckPolicy.health_check_delay
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.healthcheck.AbstractHealthCheckPolicy
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: redis.multidb.healthcheck.AbstractHealthCheckPolicy.execute
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: redis.multidb.healthcheck.HealthyAllPolicy.__init__
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: redis.multidb.healthcheck.HealthyAllPolicy.execute
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - time.sleep
    - health_check.check_health
    linkageType: pythonLinkage
    raised:
    - UnhealthyDatabaseException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: redis.multidb.healthcheck.HealthyMajorityPolicy.__init__
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: redis.multidb.healthcheck.HealthyMajorityPolicy.execute
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - time.sleep
    - health_check.check_health
    linkageType: pythonLinkage
    raised:
    - UnhealthyDatabaseException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_check_probes
    - health_check_delay
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: redis.multidb.healthcheck.HealthyAnyPolicy.__init__
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - health_checks
    - database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 134
    functionName: redis.multidb.healthcheck.HealthyAnyPolicy.execute
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - redis.multidb.exception.UnhealthyDatabaseException.__init__
    - time.sleep
    - <builtin>.super
    - <builtin>.range
    - health_check.check_health
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: redis.multidb.healthcheck.PingHealthCheck.check_health
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - database.client.execute_command
    - <builtin>.isinstance
    - database.client.get_nodes
    - node.redis_connection.execute_command
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13de24c0>
    - <ast.Name object at 0x7f6c13de2250>
    - <ast.Name object at 0x7f6c13de2e50>
    - <ast.Constant object at 0x7f6c13de2910>
    - <ast.Constant object at 0x7f6c13de2070>
    - <ast.Constant object at 0x7f6c13de2310>
    - <ast.Constant object at 0x7f6c13de2f70>
    - <ast.Constant object at 0x7f6c13de2130>
    - <ast.Constant object at 0x7f6c13de25b0>
    - <ast.Constant object at 0x7f6c13de2fd0>
    - <ast.Constant object at 0x7f6c13de2e80>
    argNames:
    - self
    - rest_api_port
    - lag_aware_tolerance
    - timeout
    - auth_basic
    - verify_tls
    - ca_file
    - ca_path
    - ca_data
    - client_cert_file
    - client_key_file
    - client_key_password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 196
    functionName: redis.multidb.healthcheck.LagAwareHealthCheck.__init__
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - base_url.rstrip
    - redis.http.http_client.HttpClient.__init__
    - base_url.endswith
    - redis.retry.Retry.__init__
    - redis.backoff.NoBackoff.__init__
    - <builtin>.super
    - k.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 243
    functionName: redis.multidb.healthcheck.LagAwareHealthCheck.check_health
    functionSourceFile: redis.multidb.healthcheck
    functionUses: 0
    functionsReached:
    - redis.connection.AbstractConnection.disconnect
    - redis.http.http_client.HttpClient.get
    - redis.http.http_client.HttpClient._build_url
    - redis.cache.CacheEntry.__init__
    - redis.connection.PythonRespSerializer.pack
    - redis.connection.Connection._host_error
    - <builtin>.str
    - time.monotonic
    - redis.http.http_client.HttpResponse._get_encoding
    - zlib.decompress
    - redis.connection.AbstractConnection.reset_should_reconnect
    - copy.deepcopy
    - redis.utils.str_if_bytes
    - redis.retry.Retry.call_with_retry
    - maint_notifications_config.get_endpoint_type
    - os.getpid
    - urllib.parse.urljoin
    - context.load_cert_chain
    - redis.http.http_client.HttpClient._prepare_headers
    - urllib.parse.urlencode
    - headers.get
    - redis.connection.AbstractConnection.send_command
    - headers.items
    - redis.connection.AbstractConnection.connect
    - ctype.split
    - redis.connection.CacheProxyConnection.can_read
    - redis.connection.AbstractConnection.can_read
    - redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications
    - redis.connection.AbstractConnection._host_error
    - redis.connection.AbstractConnection.send_packed_command
    - redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications
    - redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance
    - p.split
    - redis.http.http_client.HttpClient._json_call
    - sock.shutdown
    - entry.connection_ref.read_response
    - base64.b64encode
    - sock.settimeout
    - redis.connection.CacheProxyConnection.read_response
    - sock.close
    - params.items
    - sys.exc_info
    - sock.setsockopt
    - <builtin>.hasattr
    - <builtin>.map
    - p.lower
    - redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled
    - logging.getLogger
    - redis.connection.AbstractConnection.check_health
    - redis.connection.CacheProxyConnection.send_command
    - typing.Protocol.decode
    - redis.credentials.UsernamePasswordCredentialProvider.__init__
    - prepared.update
    - database.client.get_connection_kwargs
    - redis.connection.Connection._connect
    - sock.connect
    - time.sleep
    - redis.connection.AbstractConnection._send_ping
    - gzip.decompress
    - SYM_EMPTY.join
    - <builtin>.getattr
    - prepared.setdefault
    - logger.warning
    - conn_sock.shutdown
    - method.upper
    - conn_sock.close
    - <builtin>.isinstance
    - redis.connection.AbstractConnection.set_parser
    - redis.connection.HiredisRespSerializer.pack
    - redis.http.http_client.HttpClient.request
    - <builtin>.len
    - logger.debug
    - output.append
    - ssl.create_default_context
    - cred_provider.get_credentials
    - body.encode
    - k.lower
    - <builtin>.tuple
    - redis.connection.CacheProxyConnection.get_protocol
    - part.strip
    - redis.http.http_client.HttpResponse.json
    - kwargs.get
    - redis.sentinel.SentinelManagedConnection._connect_retry
    - redis.connection.AbstractConnection.get_protocol
    - redis.connection.CacheProxyConnection.reset_tmp_settings
    - redis.http.http_client.HttpResponse.text
    - socket.socket
    - urllib.parse.urljoin.lower
    - redis.connection.AbstractConnection.on_connect_check_health
    - redis.http.http_client.HttpClient._maybe_decompress
    - redis.sentinel.SentinelManagedConnection.connect_to
    - redis.connection.MaintNotificationsAbstractConnection.send_command
    - redis.connection.AbstractConnection._ping_failed
    - entry.connection_ref.can_read
    - redis.connection.CacheProxyConnection._process_pending_invalidations
    - socket.getaddrinfo
    - redis.connection.AbstractConnection.read_response
    - e.read
    - hiredis.pack_command
    - urllib.request.Request
    - redis.connection.AbstractConnection.connect_check_health
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.command_executor
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.command_executor.CommandExecutor
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - auto_fallback_interval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: redis.multidb.command_executor.CommandExecutor.auto_fallback_interval
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7f6c13c4b910>
    argNames:
    - self
    - auto_fallback_interval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 42
    functionName: redis.multidb.command_executor.BaseCommandExecutor.__init__
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - auto_fallback_interval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: redis.multidb.command_executor.BaseCommandExecutor.auto_fallback_interval
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.command_executor.SyncCommandExecutor
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached:
    - abc.ABC.setter
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: redis.multidb.command_executor.SyncCommandExecutor.databases
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: redis.multidb.command_executor.SyncCommandExecutor.failure_detectors
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: redis.multidb.command_executor.SyncCommandExecutor.add_failure_detector
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: redis.multidb.command_executor.SyncCommandExecutor.active_database
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.setter
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pubsub
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 104
    functionName: redis.multidb.command_executor.SyncCommandExecutor.active_pubsub
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 110
    functionName: redis.multidb.command_executor.SyncCommandExecutor.failover_strategy_executor
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: redis.multidb.command_executor.SyncCommandExecutor.command_retry
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: redis.multidb.command_executor.SyncCommandExecutor.pubsub
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: redis.multidb.command_executor.SyncCommandExecutor.execute_command
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_stack
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: redis.multidb.command_executor.SyncCommandExecutor.execute_pipeline
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - transaction
    - watches
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 136
    functionName: redis.multidb.command_executor.SyncCommandExecutor.execute_transaction
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 143
    functionName: redis.multidb.command_executor.SyncCommandExecutor.execute_pubsub_method
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sleep_time
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: redis.multidb.command_executor.SyncCommandExecutor.execute_pubsub_run
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Name object at 0x7f6c142fb790>
    - <ast.Name object at 0x7f6c142fbbe0>
    - <ast.Name object at 0x7f6c142fb880>
    argNames:
    - self
    - failure_detectors
    - databases
    - command_retry
    - failover_strategy
    - event_dispatcher
    - failover_attempts
    - failover_delay
    - auto_fallback_interval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 154
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.__init__
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.multidb.failover.DefaultFailoverStrategyExecutor.__init__
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - abc.ABC.__init__
    - redis.multidb.event.RegisterCommandFailure.__init__
    - datetime.timedelta
    - datetime.datetime.now
    - redis.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher
    - <builtin>.super
    - fd.set_command_executor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - abc.ABC.__init__
    - redis.multidb.event.RegisterCommandFailure.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 197
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.databases
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 201
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.failure_detectors
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 204
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.add_failure_detector
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 208
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.command_retry
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.active_database
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached:
    - redis.multidb.event.ActiveDatabaseChanged.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.command_executor.DefaultCommandExecutor
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached:
    - abc.ABC.setter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - old_database
    - new_database
    - command_executor
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 14
    functionName: redis.multidb.event.ActiveDatabaseChanged.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pubsub
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 235
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.active_pubsub
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 239
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.failover_strategy_executor
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_command
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_command.callback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - detector.register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cmd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    functionSourceFile: redis.multidb.command_executor
    functionUses: 6
    functionsReached:
    - detector.register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7f6c1307f430>
    argNames:
    - self
    - callback
    - cmds
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 298
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    functionSourceFile: ''
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - command_stack
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 250
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 251
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - pipe.execute_command
    - detector.register_command_execution
    - redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - pipe.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - transaction
    - watches
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - detector.register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 274
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.pubsub
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 275
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.pubsub.callback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    functionSourceFile: redis.multidb.command_executor
    functionUses: 12
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 284
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - detector.register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sleep_time
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 293
    functionName: redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 303
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.wrapper
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - time.time
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - redis.multidb.command_executor.DefaultCommandExecutor._check_active_database
    - redis.multidb.command_executor.DefaultCommandExecutor.pubsub.callback
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_command.callback
    - datetime.timedelta
    - pipe.execute
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback
    - datetime.datetime.now
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback
    - <builtin>.getattr
    - detector.register_command_execution
    - redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    - redis.multidb.failover.DefaultFailoverStrategyExecutor._reset
    - pipe.execute_command
    - redis.multidb.failover.DefaultFailoverStrategyExecutor.execute
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 316
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._check_active_database
    functionSourceFile: redis.multidb.command_executor
    functionUses: 2
    functionsReached:
    - time.time
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - datetime.timedelta
    - datetime.datetime.now
    - redis.multidb.failover.DefaultFailoverStrategyExecutor._reset
    - redis.multidb.failover.DefaultFailoverStrategyExecutor.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda1>
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached:
    - pipe.execute_command
    - redis.multidb.failover.DefaultFailoverStrategyExecutor.execute
    - time.time
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_command.callback
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback
    - <builtin>.getattr
    - redis.multidb.failover.DefaultFailoverStrategyExecutor._reset
    - redis.multidb.command_executor.DefaultCommandExecutor._check_active_database
    - redis.multidb.command_executor.DefaultCommandExecutor.pubsub.callback
    - datetime.timedelta
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback
    - detector.register_command_execution
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.wrapper
    - pipe.execute
    - datetime.datetime.now
    - redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda2>
    functionSourceFile: redis.multidb.command_executor
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._on_command_fail
    - redis.event.OnCommandsFailEvent.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - error
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: redis.multidb.command_executor.DefaultCommandExecutor._on_command_fail
    functionSourceFile: redis.multidb.command_executor
    functionUses: 1
    functionsReached:
    - redis.event.OnCommandsFailEvent.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detectors
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: redis.multidb.event.RegisterCommandFailure.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.multidb.event
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: redis.multidb.event.ActiveDatabaseChanged.old_database
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: redis.multidb.event.ActiveDatabaseChanged.new_database
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: redis.multidb.event.ActiveDatabaseChanged.command_executor
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: redis.multidb.event.ActiveDatabaseChanged.kwargs
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: redis.multidb.event.ResubscribeOnActiveDatabaseChanged.listen
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached:
    - event.new_database.client.pubsub
    - new_pubsub.on_connect
    - old_pubsub.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_pubsub.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: redis.multidb.event.CloseConnectionOnActiveDatabaseChanged.listen
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached:
    - event.old_database.client.connection_pool.update_active_connections_for_reconnect
    - node.redis_connection.connection_pool.disconnect
    - <builtin>.isinstance
    - event.old_database.client.close
    - event.old_database.client.connection_pool.disconnect
    - node.redis_connection.connection_pool.update_active_connections_for_reconnect
    - event.old_database.client.nodes_manager.nodes_cache.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.old_database.client.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.old_database.client.nodes_manager.nodes_cache.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.redis_connection.connection_pool.update_active_connections_for_reconnect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: redis.multidb.event.RegisterCommandFailure.listen
    functionSourceFile: redis.multidb.event
    functionUses: 0
    functionsReached:
    - failure_detector.register_failure
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: redis.multidb.client
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 42
    functionName: redis.multidb.client.MultiDBClient.__init__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.failover.DefaultFailoverStrategyExecutor.__init__
    - redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback
    - config.default_failure_detectors
    - abc.ABC.__init__
    - redis.multidb.event.RegisterCommandFailure.__init__
    - config.databases
    - threading.RLock
    - datetime.timedelta
    - redis.multidb.command_executor.DefaultCommandExecutor.__init__
    - config.default_health_checks
    - datetime.datetime.now
    - redis.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher
    - threading.Lock
    - config.health_check_policy.value
    - <builtin>.super
    - config.default_failover_strategy
    - fd.set_command_executor
    - redis.background.BackgroundScheduler.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: redis.multidb.client.MultiDBClient.initialize
    functionSourceFile: redis.multidb.client
    functionUses: 4
    functionsReached:
    - concurrent.futures.as_completed.result
    - threading.Thread
    - redis.multidb.client.MultiDBClient._perform_initial_health_check
    - concurrent.futures.as_completed
    - thread.start
    - redis.background.BackgroundScheduler.run_recurring
    - <builtin>.sum
    - database.circuit.on_state_changed
    - executor.submit
    - concurrent.futures.thread.ThreadPoolExecutor
    - asyncio.new_event_loop
    - <builtin>.len
    - redis.multidb.client.MultiDBClient._check_databases_health
    - results.values
    - logger.debug
    linkageType: pythonLinkage
    raised:
    - NoValidDatabaseException
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 345
    functionName: redis.multidb.client.MultiDBClient._perform_initial_health_check
    functionSourceFile: redis.multidb.client
    functionUses: 5
    functionsReached:
    - concurrent.futures.as_completed.result
    - concurrent.futures.as_completed
    - <builtin>.sum
    - executor.submit
    - concurrent.futures.thread.ThreadPoolExecutor
    - <builtin>.len
    - redis.multidb.client.MultiDBClient._check_databases_health
    - results.values
    - logger.debug
    linkageType: pythonLinkage
    raised:
    - InitialHealthCheckFailedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: redis.multidb.client.MultiDBClient.get_databases
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 122
    functionName: redis.multidb.client.MultiDBClient.set_active_database
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - typing.Protocol._health_check_policy.execute
    - redis.multidb.client.MultiDBClient._check_db_health
    linkageType: pythonLinkage
    raised:
    - ValueError
    - NoValidDatabaseException
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: redis.multidb.client.MultiDBClient._check_db_health
    functionSourceFile: redis.multidb.client
    functionUses: 3
    functionsReached:
    - typing.Protocol._health_check_policy.execute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13949cd0>
    argNames:
    - self
    - config
    - skip_initial_health_check
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 147
    functionName: redis.multidb.client.MultiDBClient.add_database
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - config.from_pool.set_retry
    - redis.multidb.client.MultiDBClient._check_db_health
    - redis.maint_notifications.MaintNotificationsConfig.__init__
    - redis.multidb.database.Database.__init__
    - redis.retry.Retry.__init__
    - typing.Protocol._health_check_policy.execute
    - redis.multidb.client.MultiDBClient._change_active_database
    - redis.backoff.NoBackoff.__init__
    - <builtin>.super
    - config.default_circuit_breaker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - new_database
    - highest_weight_database
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 203
    functionName: redis.multidb.client.MultiDBClient._change_active_database
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - database
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 212
    functionName: redis.multidb.client.MultiDBClient.remove_database
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - database
    - weight
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: redis.multidb.client.MultiDBClient.update_database_weight
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.client.MultiDBClient._change_active_database
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - failure_detector
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: redis.multidb.client.MultiDBClient.add_failure_detector
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - healthcheck
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 250
    functionName: redis.multidb.client.MultiDBClient.add_health_check
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 257
    functionName: redis.multidb.client.MultiDBClient.execute_command
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - concurrent.futures.as_completed.result
    - threading.Thread
    - redis.multidb.client.MultiDBClient._perform_initial_health_check
    - concurrent.futures.as_completed
    - thread.start
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.background.BackgroundScheduler.run_recurring
    - <builtin>.sum
    - redis.multidb.client.MultiDBClient._check_databases_health
    - executor.submit
    - database.circuit.on_state_changed
    - concurrent.futures.thread.ThreadPoolExecutor
    - asyncio.new_event_loop
    - redis.multidb.client.MultiDBClient.initialize
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_command
    - results.values
    - logger.debug
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 266
    functionName: redis.multidb.client.MultiDBClient.pipeline
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.client.Pipeline.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 407
    functionName: redis.multidb.client.Pipeline.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - func
    - watches
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 272
    functionName: redis.multidb.client.MultiDBClient.transaction
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - concurrent.futures.as_completed.result
    - threading.Thread
    - redis.multidb.client.MultiDBClient._perform_initial_health_check
    - concurrent.futures.as_completed
    - thread.start
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction
    - <builtin>.sum
    - redis.background.BackgroundScheduler.run_recurring
    - executor.submit
    - database.circuit.on_state_changed
    - concurrent.futures.thread.ThreadPoolExecutor
    - asyncio.new_event_loop
    - redis.multidb.client.MultiDBClient.initialize
    - redis.multidb.client.MultiDBClient._check_databases_health
    - results.values
    - logger.debug
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 281
    functionName: redis.multidb.client.MultiDBClient.pubsub
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - thread.start
    - redis.multidb.client.MultiDBClient.initialize
    - redis.multidb.client.MultiDBClient._check_databases_health
    - threading.Thread
    - redis.multidb.client.MultiDBClient._perform_initial_health_check
    - concurrent.futures.as_completed
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.background.BackgroundScheduler.run_recurring
    - concurrent.futures.as_completed.result
    - redis.multidb.command_executor.DefaultCommandExecutor.pubsub
    - redis.multidb.client.PubSub.__init__
    - <builtin>.sum
    - executor.submit
    - <builtin>.len
    - results.values
    - logger.debug
    - database.circuit.on_state_changed
    - concurrent.futures.thread.ThreadPoolExecutor
    - asyncio.new_event_loop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 474
    functionName: redis.multidb.client.PubSub.__init__
    functionSourceFile: redis.multidb.client
    functionUses: 1
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor.pubsub
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: redis.multidb.client.MultiDBClient._check_databases_health
    functionSourceFile: redis.multidb.client
    functionUses: 6
    functionsReached:
    - concurrent.futures.as_completed.result
    - concurrent.futures.as_completed
    - executor.submit
    - concurrent.futures.thread.ThreadPoolExecutor
    - <builtin>.len
    - logger.debug
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.thread.ThreadPoolExecutor
    functionSourceFile: concurrent
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: executor.submit
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.as_completed
    functionSourceFile: concurrent
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.as_completed.result
    functionSourceFile: concurrent
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - circuit
    - old_state
    - new_state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 369
    functionName: redis.multidb.client.MultiDBClient._on_circuit_state_change_callback
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - threading.Thread
    - redis.background.BackgroundScheduler.run_once
    - redis.multidb.client.MultiDBClient._check_db_health
    - thread.start
    - logger.info
    - typing.Protocol._health_check_policy.execute
    - asyncio.new_event_loop
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: redis.multidb.client.MultiDBClient.close
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - loop.is_running
    - redis.background.BackgroundScheduler.stop
    - loop.call_soon_threadsafe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - circuit
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 398
    functionName: redis.multidb.client._half_open_circuit
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 411
    functionName: redis.multidb.client.Pipeline.__enter__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 414
    functionName: redis.multidb.client.Pipeline.__exit__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 430
    functionName: redis.multidb.client.Pipeline.reset
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 417
    functionName: redis.multidb.client.Pipeline.__del__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 423
    functionName: redis.multidb.client.Pipeline.__len__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 426
    functionName: redis.multidb.client.Pipeline.__bool__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 433
    functionName: redis.multidb.client.Pipeline.close
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.client.Pipeline.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 437
    functionName: redis.multidb.client.Pipeline.pipeline_execute_command
    functionSourceFile: redis.multidb.client
    functionUses: 496
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 456
    functionName: redis.multidb.client.Pipeline.execute
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline
    - thread.start
    - redis.multidb.client.MultiDBClient.initialize
    - redis.multidb.client.MultiDBClient._check_databases_health
    - threading.Thread
    - redis.multidb.client.MultiDBClient._perform_initial_health_check
    - concurrent.futures.as_completed
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.background.BackgroundScheduler.run_recurring
    - redis.multidb.client.Pipeline.reset
    - concurrent.futures.as_completed.result
    - <builtin>.sum
    - executor.submit
    - <builtin>.len
    - results.values
    - logger.debug
    - database.circuit.on_state_changed
    - concurrent.futures.thread.ThreadPoolExecutor
    - asyncio.new_event_loop
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 485
    functionName: redis.multidb.client.PubSub.__enter__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 488
    functionName: redis.multidb.client.PubSub.__del__
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.multidb.client.PubSub.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 497
    functionName: redis.multidb.client.PubSub.reset
    functionSourceFile: redis.multidb.client
    functionUses: 2
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 500
    functionName: redis.multidb.client.PubSub.close
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    - redis.multidb.client.PubSub.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 504
    functionName: redis.multidb.client.PubSub.subscribed
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 507
    functionName: redis.multidb.client.PubSub.execute_command
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 512
    functionName: redis.multidb.client.PubSub.psubscribe
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 524
    functionName: redis.multidb.client.PubSub.punsubscribe
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 533
    functionName: redis.multidb.client.PubSub.subscribe
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 545
    functionName: redis.multidb.client.PubSub.unsubscribe
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 552
    functionName: redis.multidb.client.PubSub.ssubscribe
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 564
    functionName: redis.multidb.client.PubSub.sunsubscribe
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f7fb20>
    - <ast.Constant object at 0x7f6c13f7f850>
    argNames:
    - self
    - ignore_subscribe_messages
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 573
    functionName: redis.multidb.client.PubSub.get_message
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13f7f280>
    - <ast.Constant object at 0x7f6c13f7fac0>
    argNames:
    - self
    - ignore_subscribe_messages
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 589
    functionName: redis.multidb.client.PubSub.get_sharded_message
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b33d0>
    - <ast.Constant object at 0x7f6c143b38e0>
    - <ast.Constant object at 0x7f6c143b3c40>
    - <ast.Constant object at 0x7f6c143b3850>
    argNames:
    - self
    - sleep_time
    - daemon
    - exception_handler
    - sharded_pubsub
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 605
    functionName: redis.multidb.client.PubSub.run_in_thread
    functionSourceFile: redis.multidb.client
    functionUses: 0
    functionsReached:
    - redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run
    - redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.querystring
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - t
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: redis.commands.search.querystring.tags
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.TagValue.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tags
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: redis.commands.search.querystring.TagValue.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14218ca0>
    - <ast.Constant object at 0x7f6c14218e80>
    argNames:
    - a
    - b
    - inclusive_min
    - inclusive_max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 14
    functionName: redis.commands.search.querystring.between
    functionSourceFile: redis.commands.search.querystring
    functionUses: 5
    functionsReached:
    - redis.commands.search.querystring.RangeValue.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c143b33a0>
    - <ast.Constant object at 0x7f6c143b37f0>
    argNames:
    - self
    - a
    - b
    - inclusive_min
    - inclusive_max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: redis.commands.search.querystring.RangeValue.__init__
    functionSourceFile: redis.commands.search.querystring
    functionUses: 6
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 21
    functionName: redis.commands.search.querystring.equal
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.between
    - redis.commands.search.querystring.RangeValue.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 28
    functionName: redis.commands.search.querystring.lt
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.between
    - redis.commands.search.querystring.RangeValue.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 35
    functionName: redis.commands.search.querystring.le
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.between
    - redis.commands.search.querystring.RangeValue.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 42
    functionName: redis.commands.search.querystring.gt
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.between
    - redis.commands.search.querystring.RangeValue.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 49
    functionName: redis.commands.search.querystring.ge
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.between
    - redis.commands.search.querystring.RangeValue.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f6c149df340>
    argNames:
    - lat
    - lon
    - radius
    - unit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: redis.commands.search.querystring.geo
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.GeoValue.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13754970>
    argNames:
    - self
    - lon
    - lat
    - radius
    - unit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 129
    functionName: redis.commands.search.querystring.GeoValue.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 65
    functionName: redis.commands.search.querystring.Value.combinable
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: redis.commands.search.querystring.Value.make_value
    functionSourceFile: redis.commands.search.querystring
    functionUses: 6
    functionsReached:
    - redis.commands.search.querystring.ScalarValue.__init__
    - <builtin>.isinstance
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - v
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: redis.commands.search.querystring.ScalarValue.__init__
    functionSourceFile: redis.commands.search.querystring
    functionUses: 7
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 81
    functionName: redis.commands.search.querystring.Value.to_string
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 84
    functionName: redis.commands.search.querystring.Value.__str__
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.ScalarValue.to_string
    - redis.commands.search.querystring.GeoValue.to_string
    - <builtin>.str
    - redis.commands.search.querystring.RangeValue.to_string
    - redis.commands.search.querystring.TagValue.to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 135
    functionName: redis.commands.search.querystring.GeoValue.to_string
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 114
    functionName: redis.commands.search.querystring.ScalarValue.to_string
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: redis.commands.search.querystring.RangeValue.to_string
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: redis.commands.search.querystring.TagValue.to_string
    functionSourceFile: redis.commands.search.querystring
    functionUses: 1
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - children
    - kwparams
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: redis.commands.search.querystring.Node.__init__
    functionSourceFile: redis.commands.search.querystring
    functionUses: 5
    functionsReached:
    - kvparams.items
    - redis.commands.search.querystring.Node.join_fields
    - curvals.extend
    - <builtin>.isinstance
    - v.to_string
    - redis.commands.search.querystring.Node.to_node
    - redis.commands.search.querystring.ScalarValue.__init__
    - redis.commands.search.querystring.Value.make_value
    - kvparams.setdefault
    - redis.commands.search.querystring.BaseNode.__init__
    - <builtin>.str
    - <builtin>.super
    - kwparams.items
    - curvals.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwparams.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kvparams.setdefault
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: curvals.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: curvals.extend
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 209
    functionName: redis.commands.search.querystring.Node.to_node
    functionSourceFile: redis.commands.search.querystring
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    - redis.commands.search.querystring.BaseNode.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kvparams.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - vals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 200
    functionName: redis.commands.search.querystring.Node.join_fields
    functionSourceFile: redis.commands.search.querystring
    functionUses: 6
    functionsReached:
    - v.to_string
    - <builtin>.str
    - <builtin>.super
    - <builtin>.len
    - redis.commands.search.querystring.BaseNode.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: redis.commands.search.querystring.BaseNode.__init__
    functionSourceFile: redis.commands.search.querystring
    functionUses: 8
    functionsReached:
    - <builtin>.super
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.to_string
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 215
    functionName: redis.commands.search.querystring.Node.JOINSTR
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13e66850>
    argNames:
    - self
    - with_parens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 218
    functionName: redis.commands.search.querystring.Node.to_string
    functionSourceFile: redis.commands.search.querystring
    functionUses: 2
    functionsReached:
    - n.to_string
    - redis.commands.search.querystring.Node._should_use_paren
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - optval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: redis.commands.search.querystring.Node._should_use_paren
    functionSourceFile: redis.commands.search.querystring
    functionUses: 5
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: n.to_string
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 228
    functionName: redis.commands.search.querystring.Node.__str__
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.Node.to_string
    - redis.commands.search.querystring.Node._should_use_paren
    - redis.commands.search.querystring.DisjunctNode.to_string
    - <builtin>.super
    - redis.commands.search.querystring.BaseNode.to_string
    - n.to_string
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a4f760>
    argNames:
    - self
    - with_parens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: redis.commands.search.querystring.DisjunctNode.to_string
    functionSourceFile: redis.commands.search.querystring
    functionUses: 2
    functionsReached:
    - redis.commands.search.querystring.Node._should_use_paren
    - <builtin>.super
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c14a4f4f0>
    argNames:
    - self
    - with_parens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 237
    functionName: redis.commands.search.querystring.BaseNode.to_string
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6c13a1f7f0>
    argNames:
    - self
    - with_parens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 291
    functionName: redis.commands.search.querystring.OptionalNode.to_string
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.Node._should_use_paren
    - <builtin>.super
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 300
    functionName: redis.commands.search.querystring.intersect
    functionSourceFile: redis.commands.search.querystring
    functionUses: 1
    functionsReached:
    - redis.commands.search.querystring.Node.__init__
    - kvparams.items
    - redis.commands.search.querystring.Node.join_fields
    - curvals.extend
    - <builtin>.isinstance
    - v.to_string
    - redis.commands.search.querystring.Node.to_node
    - redis.commands.search.querystring.ScalarValue.__init__
    - redis.commands.search.querystring.Value.make_value
    - kvparams.setdefault
    - redis.commands.search.querystring.BaseNode.__init__
    - <builtin>.str
    - <builtin>.super
    - kwparams.items
    - curvals.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 304
    functionName: redis.commands.search.querystring.union
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.Node.__init__
    - kvparams.items
    - redis.commands.search.querystring.Node.join_fields
    - curvals.extend
    - <builtin>.isinstance
    - v.to_string
    - redis.commands.search.querystring.Node.to_node
    - redis.commands.search.querystring.ScalarValue.__init__
    - redis.commands.search.querystring.Value.make_value
    - kvparams.setdefault
    - redis.commands.search.querystring.BaseNode.__init__
    - <builtin>.str
    - <builtin>.super
    - kwparams.items
    - curvals.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 308
    functionName: redis.commands.search.querystring.disjunct
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.Node.__init__
    - kvparams.items
    - redis.commands.search.querystring.Node.join_fields
    - curvals.extend
    - <builtin>.isinstance
    - v.to_string
    - redis.commands.search.querystring.Node.to_node
    - redis.commands.search.querystring.ScalarValue.__init__
    - redis.commands.search.querystring.Value.make_value
    - kvparams.setdefault
    - redis.commands.search.querystring.BaseNode.__init__
    - <builtin>.str
    - <builtin>.super
    - kwparams.items
    - curvals.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 312
    functionName: redis.commands.search.querystring.disjunct_union
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - redis.commands.search.querystring.Node.__init__
    - kvparams.items
    - redis.commands.search.querystring.Node.join_fields
    - curvals.extend
    - <builtin>.isinstance
    - v.to_string
    - redis.commands.search.querystring.Node.to_node
    - redis.commands.search.querystring.ScalarValue.__init__
    - redis.commands.search.querystring.Value.make_value
    - kvparams.setdefault
    - redis.commands.search.querystring.BaseNode.__init__
    - <builtin>.str
    - <builtin>.super
    - kwparams.items
    - curvals.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 316
    functionName: redis.commands.search.querystring.querystring
    functionSourceFile: redis.commands.search.querystring
    functionUses: 0
    functionsReached:
    - curvals.extend
    - v.to_string
    - redis.commands.search.querystring.DisjunctNode.to_string
    - <builtin>.super
    - <builtin>.str
    - redis.commands.search.querystring.intersect
    - redis.commands.search.querystring.ScalarValue.__init__
    - redis.commands.search.querystring.Node.to_node
    - redis.commands.search.querystring.Node._should_use_paren
    - <builtin>.isinstance
    - redis.commands.search.querystring.Value.make_value
    - redis.commands.search.querystring.BaseNode.to_string
    - <builtin>.len
    - redis.commands.search.querystring.Node.__init__
    - redis.commands.search.querystring.Node.to_string
    - kvparams.items
    - redis.commands.search.querystring.Node.join_fields
    - redis.commands.search.querystring.BaseNode.__init__
    - kvparams.setdefault
    - n.to_string
    - kwparams.items
    - curvals.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redis.commands.search.reducers
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: redis.commands.search.reducers.FieldOnlyReducer.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: redis.commands.search.reducers.count.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: redis.commands.search.reducers.sum.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: redis.commands.search.reducers.min.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: redis.commands.search.reducers.max.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: redis.commands.search.reducers.avg.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: redis.commands.search.reducers.tolist.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: redis.commands.search.reducers.count_distinct.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - field
    - pct
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: redis.commands.search.reducers.quantile.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: redis.commands.search.reducers.stddev.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - field
    - byfields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: redis.commands.search.reducers.first_value.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    - <builtin>.isinstance
    - <builtin>.super
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - field
    - size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: redis.commands.search.reducers.random_sample.__init__
    functionSourceFile: redis.commands.search.reducers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_func':
  - 96
  - 18
  - 95
  '...fuzz_func.TestInput':
  - 25
  - 27
  - 28
  - 29
  - 31
  - 32
  - 34
  - 35
  - 36
  - 38
  - 39
  - 40
  - 41
  - 42
  - 43
  - 45
  - 47
  - 49
  - 59
  - 60
  - 61
  - 62
  - 63
  - 64
  - 67
  - 68
  - 69
  - 70
  - 72
  - 73
  - 74
  - 75
  - 76
  - 77
  - 79
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 86
  - 87
  - 88
  '...fuzz_func.main':
  - 92
  - 93
  redis:
  - 52
  redis._parsers.base:
  - 19
  - 70
  redis._parsers.base.AsyncBaseParser:
  - 164
  redis._parsers.base.AsyncPushNotificationsParser:
  - 396
  redis._parsers.base.AsyncPushNotificationsParser.handle_pubsub_push_response:
  - 405
  redis._parsers.base.AsyncPushNotificationsParser.handle_push_response:
  - 409
  - 412
  - 413
  - 415
  - 421
  - 424
  - 428
  - 430
  - 431
  - 433
  - 437
  - 438
  - 440
  - 444
  - 445
  - 450
  - 452
  - 453
  - 454
  - 461
  - 462
  - 463
  - 465
  - 466
  redis._parsers.base.AsyncPushNotificationsParser.set_invalidation_push_handler:
  - 476
  redis._parsers.base.AsyncPushNotificationsParser.set_pubsub_push_handler:
  - 472
  redis._parsers.base.BaseParser.parse_error:
  - 111
  - 112
  - 113
  - 114
  - 116
  - 117
  - 118
  - 119
  redis._parsers.base.MaintenanceNotificationsParser:
  - 182
  redis._parsers.base.MaintenanceNotificationsParser.parse_maintenance_completed_msg:
  - 235
  redis._parsers.base.MaintenanceNotificationsParser.parse_maintenance_start_msg:
  - 226
  redis._parsers.base.MaintenanceNotificationsParser.parse_moving_msg:
  - 242
  - 245
  - 246
  - 247
  - 249
  redis._parsers.base.MaintenanceNotificationsParser.parse_oss_maintenance_completed_msg:
  - 207
  - 208
  - 209
  - 210
  - 212
  - 214
  - 216
  redis._parsers.base.MaintenanceNotificationsParser.parse_oss_maintenance_start_msg:
  - 189
  - 190
  redis._parsers.base.PushNotificationsParser:
  - 304
  redis._parsers.base.PushNotificationsParser.handle_pubsub_push_response:
  - 313
  redis._parsers.base.PushNotificationsParser.handle_push_response:
  - 318
  - 319
  - 321
  - 327
  - 330
  - 334
  - 336
  - 341
  - 342
  - 344
  - 348
  - 349
  - 354
  - 356
  - 357
  - 358
  - 365
  - 367
  - 368
  - 369
  - 370
  - 371
  - 373
  - 374
  redis._parsers.base._AsyncRESPBase:
  - 490
  redis._parsers.base._AsyncRESPBase.__init__:
  - 495
  redis._parsers.base._AsyncRESPBase._clear:
  - 503
  redis._parsers.base._AsyncRESPBase._read:
  - 536
  - 545
  - 530
  - 541
  redis._parsers.base._AsyncRESPBase._readline:
  - 550
  - 554
  - 555
  - 559
  - 560
  - 563
  - 564
  redis._parsers.base._AsyncRESPBase.can_read_destructive:
  - 521
  - 524
  - 525
  - 519
  redis._parsers.base._AsyncRESPBase.on_connect:
  - 506
  - 508
  - 511
  redis._parsers.base._AsyncRESPBase.on_disconnect:
  - 515
  redis._parsers.base._RESPBase:
  - 129
  redis._parsers.base._RESPBase.__del__:
  - 139
  redis._parsers.base._RESPBase.can_read:
  - 160
  redis._parsers.base._RESPBase.on_connect:
  - 144
  - 146
  redis._parsers.base._RESPBase.on_disconnect:
  - 152
  - 154
  - 155
  redis._parsers.commands:
  - 7
  redis._parsers.commands.AbstractCommandsParser._get_pubsub_keys:
  - 65
  - 66
  - 68
  - 71
  - 72
  - 50
  - 56
  - 59
  - 60
  - 62
  redis._parsers.commands.AbstractCommandsParser.parse_subcommand:
  - 80
  - 82
  - 83
  - 87
  redis._parsers.commands.AsyncCommandsParser:
  - 399
  redis._parsers.commands.AsyncCommandsParser._get_moveable_keys:
  - 498
  - 500
  - 501
  redis._parsers.commands.AsyncCommandsParser._is_keyless_command:
  - 513
  - 546
  - 547
  - 537
  - 538
  - 539
  - 540
  redis._parsers.commands.AsyncCommandsParser.get_command_policies:
  - 642
  - 644
  - 650
  - 655
  - 656
  - 659
  - 660
  - 663
  - 664
  - 667
  - 668
  - 671
  - 673
  - 680
  - 553
  - 683
  - 689
  - 690
  - 620
  - 622
  - 624
  - 632
  - 634
  redis._parsers.commands.AsyncCommandsParser.get_command_policies.extract_policies:
  - 578
  - 610
  - 580
  - 612
  - 613
  - 583
  - 615
  - 617
  - 586
  - 587
  - 618
  - 592
  - 598
  - 599
  - 571
  - 604
  redis._parsers.commands.AsyncCommandsParser.get_keys:
  - 430
  - 440
  - 444
  - 445
  - 448
  - 450
  - 452
  - 456
  - 457
  - 462
  - 463
  - 464
  - 465
  - 466
  - 468
  - 474
  - 475
  - 476
  - 477
  - 478
  - 480
  - 484
  - 487
  - 488
  - 489
  - 490
  redis._parsers.commands.AsyncCommandsParser.initialize:
  - 424
  - 420
  - 423
  redis._parsers.commands.CommandsParser:
  - 95
  redis._parsers.commands.CommandsParser.__init__:
  - 106
  redis._parsers.commands.CommandsParser._get_moveable_keys:
  - 199
  - 201
  - 203
  - 204
  - 189
  redis._parsers.commands.CommandsParser._is_keyless_command:
  - 240
  - 241
  - 242
  - 243
  - 216
  - 249
  - 250
  redis._parsers.commands.CommandsParser.get_command_policies:
  - 256
  - 386
  - 392
  - 393
  - 323
  - 325
  - 327
  - 335
  - 337
  - 345
  - 347
  - 353
  - 358
  - 359
  - 362
  - 363
  - 366
  - 367
  - 370
  - 371
  - 374
  - 376
  - 383
  redis._parsers.commands.CommandsParser.get_command_policies.extract_policies:
  - 318
  - 289
  - 290
  - 320
  - 321
  - 295
  - 313
  - 301
  - 302
  - 315
  - 274
  - 307
  - 281
  - 283
  - 316
  - 286
  redis._parsers.commands.CommandsParser.get_keys:
  - 132
  - 136
  - 137
  - 140
  - 142
  - 144
  - 148
  - 149
  - 154
  - 155
  - 156
  - 157
  - 158
  - 160
  - 166
  - 167
  - 168
  - 169
  - 170
  - 172
  - 176
  - 179
  - 180
  - 181
  - 182
  - 122
  redis._parsers.commands.CommandsParser.initialize:
  - 109
  - 111
  - 112
  - 113
  - 114
  - 115
  redis._parsers.encoders.Encoder:
  - 5
  redis._parsers.encoders.Encoder.decode:
  - 38
  - 39
  - 40
  - 41
  - 42
  - 43
  redis._parsers.encoders.Encoder.encode:
  - 33
  - 34
  - 15
  - 16
  - 18
  - 24
  - 25
  - 26
  - 28
  redis._parsers.helpers:
  - 771
  - 900
  - 901
  - 903
  - 905
  - 907
  - 911
  - 915
  - 916
  - 925
  - 931
  - 936
  - 813
  - 941
  - 944
  - 819
  - 835
  - 848
  - 849
  - 851
  - 856
  - 860
  - 861
  - 862
  - 863
  - 864
  - 866
  - 868
  - 869
  - 870
  - 873
  - 874
  - 875
  - 878
  - 879
  - 882
  - 755
  - 883
  - 885
  - 760
  - 761
  - 766
  - 767
  redis._parsers.helpers.<lambda10>:
  - 874
  redis._parsers.helpers.<lambda11>:
  - 875
  redis._parsers.helpers.<lambda12>:
  - 878
  redis._parsers.helpers.<lambda13>:
  - 880
  - 879
  redis._parsers.helpers.<lambda13>.<lambda1>:
  - 880
  redis._parsers.helpers.<lambda14>:
  - 882
  redis._parsers.helpers.<lambda15>:
  - 883
  redis._parsers.helpers.<lambda16>:
  - 885
  redis._parsers.helpers.<lambda1>:
  - 849
  - 813
  - 901
  redis._parsers.helpers.<lambda2>:
  - 819
  redis._parsers.helpers.<lambda3>:
  - 835
  - 918
  - 921
  - 922
  - 862
  redis._parsers.helpers.<lambda4>:
  - 864
  - 929
  - 926
  - 927
  redis._parsers.helpers.<lambda5>:
  - 866
  - 931
  redis._parsers.helpers.<lambda6>:
  - 937
  - 938
  - 939
  - 868
  redis._parsers.helpers.<lambda7>:
  - 869
  - 942
  redis._parsers.helpers.<lambda8>:
  - 945
  - 870
  redis._parsers.helpers.<lambda9>:
  - 873
  redis._parsers.helpers._parse_node_line:
  - 521
  - 522
  - 505
  - 506
  - 507
  - 508
  redis._parsers.helpers._parse_slots:
  - 529
  - 530
  - 531
  - 532
  - 535
  - 536
  - 537
  - 541
  - 542
  redis._parsers.helpers.bool_ok:
  - 376
  redis._parsers.helpers.float_or_none:
  - 370
  - 372
  redis._parsers.helpers.pairs_to_dict:
  - 192
  - 193
  - 194
  - 196
  - 197
  - 182
  - 183
  - 185
  - 189
  - 190
  redis._parsers.helpers.pairs_to_dict_typed:
  - 201
  - 203
  - 204
  - 206
  redis._parsers.helpers.pairs_to_dict_with_str_keys:
  - 287
  redis._parsers.helpers.parse_acl_getuser:
  - 644
  - 646
  - 647
  - 649
  - 652
  - 653
  - 654
  - 655
  - 656
  - 657
  - 659
  - 660
  - 661
  - 662
  - 664
  - 665
  - 667
  - 669
  - 671
  - 677
  - 678
  redis._parsers.helpers.parse_acl_log:
  - 687
  - 689
  - 691
  - 692
  - 693
  - 694
  - 697
  - 698
  - 700
  redis._parsers.helpers.parse_client_info:
  - 705
  - 710
  - 711
  - 715
  - 731
  - 732
  redis._parsers.helpers.parse_client_kill:
  - 640
  - 638
  redis._parsers.helpers.parse_client_list:
  - 389
  - 391
  - 393
  - 394
  - 396
  - 404
  - 405
  redis._parsers.helpers.parse_cluster_info:
  - 500
  - 501
  redis._parsers.helpers.parse_cluster_nodes:
  - 552
  - 553
  - 554
  - 548
  redis._parsers.helpers.parse_command:
  - 595
  - 597
  - 599
  - 600
  - 604
  redis._parsers.helpers.parse_command_resp3:
  - 616
  - 619
  - 624
  - 614
  redis._parsers.helpers.parse_config_get:
  - 410
  - 411
  redis._parsers.helpers.parse_debug_object:
  - 18
  - 21
  - 23
  - 28
  - 29
  - 30
  redis._parsers.helpers.parse_geosearch_generic:
  - 576
  - 582
  - 588
  - 558
  - 590
  - 563
  - 571
  redis._parsers.helpers.parse_geosearch_generic.<lambda1>:
  - 590
  - 582
  redis._parsers.helpers.parse_hscan:
  - 425
  - 426
  - 421
  - 422
  redis._parsers.helpers.parse_info:
  - 64
  - 65
  - 36
  - 69
  - 38
  - 70
  - 71
  - 73
  - 76
  - 78
  - 81
  - 63
  redis._parsers.helpers.parse_info.get_value:
  - 41
  - 43
  - 44
  - 46
  - 49
  - 50
  - 53
  - 54
  - 56
  - 57
  - 58
  redis._parsers.helpers.parse_list_of_dicts:
  - 291
  redis._parsers.helpers.parse_memory_stats:
  - 87
  - 88
  - 89
  - 90
  - 91
  redis._parsers.helpers.parse_pubsub_numsub:
  - 634
  redis._parsers.helpers.parse_scan:
  - 416
  redis._parsers.helpers.parse_sentinel_get_master:
  - 178
  redis._parsers.helpers.parse_sentinel_master:
  - 141
  redis._parsers.helpers.parse_sentinel_masters:
  - 160
  - 159
  redis._parsers.helpers.parse_sentinel_masters_resp3:
  - 166
  redis._parsers.helpers.parse_sentinel_slaves_and_sentinels:
  - 170
  redis._parsers.helpers.parse_sentinel_slaves_and_sentinels_resp3:
  - 174
  redis._parsers.helpers.parse_sentinel_state:
  - 125
  - 126
  - 127
  redis._parsers.helpers.parse_sentinel_state_resp3:
  - 146
  - 148
  - 149
  - 151
  - 152
  redis._parsers.helpers.parse_set_result:
  - 737
  - 747
  - 743
  redis._parsers.helpers.parse_slowlog_get:
  - 442
  - 467
  redis._parsers.helpers.parse_slowlog_get.parse_item:
  - 449
  - 450
  - 453
  - 458
  - 461
  - 445
  redis._parsers.helpers.parse_stralgo:
  - 482
  - 483
  - 484
  - 485
  - 487
  - 491
  - 493
  - 494
  - 496
  - 471
  redis._parsers.helpers.parse_stream_list:
  - 272
  - 275
  - 276
  - 277
  - 278
  - 280
  - 282
  redis._parsers.helpers.parse_xautoclaim:
  - 301
  - 303
  redis._parsers.helpers.parse_xclaim:
  - 297
  - 295
  redis._parsers.helpers.parse_xinfo_stream:
  - 320
  - 321
  - 323
  - 325
  - 326
  - 328
  - 332
  - 308
  - 309
  - 311
  - 312
  - 313
  - 314
  - 315
  - 317
  - 318
  redis._parsers.helpers.parse_xpending:
  - 353
  - 354
  - 355
  redis._parsers.helpers.parse_xpending_range:
  - 366
  redis._parsers.helpers.parse_xread:
  - 339
  - 341
  redis._parsers.helpers.parse_xread_resp3:
  - 345
  - 348
  redis._parsers.helpers.parse_zadd:
  - 384
  - 380
  - 382
  - 383
  redis._parsers.helpers.parse_zmscore:
  - 438
  redis._parsers.helpers.parse_zscan:
  - 432
  - 433
  - 430
  redis._parsers.helpers.sort_return_tuples:
  - 265
  - 268
  - 261
  redis._parsers.helpers.string_keys_to_dict:
  - 751
  redis._parsers.helpers.timestamp_to_datetime:
  - 8
  - 11
  - 14
  - 7
  redis._parsers.helpers.zset_score_for_rank:
  - 232
  - 234
  - 235
  - 228
  redis._parsers.helpers.zset_score_for_rank_resp3:
  - 256
  - 257
  - 250
  - 254
  redis._parsers.helpers.zset_score_pairs:
  - 224
  - 216
  - 220
  - 222
  - 223
  redis._parsers.helpers.zset_score_pairs_resp3:
  - 243
  - 245
  - 246
  - 239
  redis._parsers.hiredis:
  - 31
  - 7
  redis._parsers.hiredis._AsyncHiredisParser:
  - 195
  redis._parsers.hiredis._AsyncHiredisParser.__init__:
  - 200
  - 202
  redis._parsers.hiredis._AsyncHiredisParser.can_read_destructive:
  - 241
  - 243
  - 246
  - 247
  redis._parsers.hiredis._AsyncHiredisParser.handle_pubsub_push_response:
  - 209
  - 210
  redis._parsers.hiredis._AsyncHiredisParser.on_connect:
  - 226
  - 222
  - 230
  redis._parsers.hiredis._AsyncHiredisParser.read_from_socket:
  - 252
  - 253
  - 255
  redis._parsers.hiredis._AsyncHiredisParser.read_response:
  - 289
  - 290
  - 291
  - 296
  - 297
  - 266
  - 299
  - 269
  - 270
  - 272
  - 275
  - 276
  - 277
  - 279
  - 284
  - 286
  redis._parsers.hiredis._HiredisParser:
  - 42
  redis._parsers.hiredis._HiredisParser.__del__:
  - 58
  redis._parsers.hiredis._HiredisParser.__init__:
  - 48
  - 45
  redis._parsers.hiredis._HiredisParser.can_read:
  - 96
  - 99
  - 100
  - 101
  - 102
  redis._parsers.hiredis._HiredisParser.handle_pubsub_push_response:
  - 64
  - 63
  redis._parsers.hiredis._HiredisParser.on_connect:
  - 81
  - 79
  redis._parsers.hiredis._HiredisParser.read_from_socket:
  - 128
  - 132
  - 133
  - 109
  - 110
  - 111
  - 112
  - 114
  - 119
  - 127
  redis._parsers.hiredis._HiredisParser.read_response:
  - 136
  - 140
  - 143
  - 146
  - 149
  - 152
  - 158
  - 159
  - 161
  - 164
  - 165
  - 166
  - 168
  - 172
  - 174
  - 177
  - 178
  - 180
  - 185
  - 186
  - 188
  redis._parsers.resp2._AsyncRESP2Parser:
  - 72
  redis._parsers.resp2._AsyncRESP2Parser._read_response:
  - 96
  - 97
  - 130
  - 131
  - 100
  - 101
  - 122
  - 109
  - 112
  - 113
  - 115
  - 117
  - 118
  - 120
  - 90
  - 124
  - 125
  - 95
  redis._parsers.resp2._AsyncRESP2Parser.read_response:
  - 75
  - 77
  - 79
  - 80
  - 82
  - 84
  redis._parsers.resp2._RESP2Parser:
  - 10
  redis._parsers.resp2._RESP2Parser._read_response:
  - 32
  - 33
  - 34
  - 66
  - 58
  - 37
  - 67
  - 45
  - 48
  - 49
  - 51
  - 53
  - 54
  - 56
  - 25
  - 26
  - 60
  - 61
  redis._parsers.resp2._RESP2Parser.read_response:
  - 13
  - 15
  - 17
  - 18
  - 21
  redis._parsers.resp3._AsyncRESP3Parser.__init__:
  - 143
  redis._parsers.resp3._AsyncRESP3Parser._read_response:
  - 262
  - 263
  - 170
  - 172
  - 180
  - 181
  - 182
  - 183
  - 184
  - 187
  - 188
  - 196
  - 199
  - 202
  - 203
  - 205
  - 206
  - 208
  - 211
  - 212
  - 214
  - 215
  - 217
  - 219
  - 220
  - 223
  - 227
  - 228
  - 231
  - 236
  - 237
  - 238
  - 243
  - 246
  - 250
  - 252
  - 253
  - 254
  redis._parsers.resp3._AsyncRESP3Parser.handle_pubsub_push_response:
  - 148
  - 149
  redis._parsers.resp3._AsyncRESP3Parser.read_response:
  - 160
  - 164
  - 155
  - 157
  - 158
  redis._parsers.resp3._RESP3Parser:
  - 16
  redis._parsers.resp3._RESP3Parser.__init__:
  - 19
  redis._parsers.resp3._RESP3Parser._read_response:
  - 128
  - 135
  - 136
  - 46
  - 47
  - 53
  - 54
  - 55
  - 56
  - 57
  - 60
  - 68
  - 71
  - 74
  - 75
  - 77
  - 78
  - 80
  - 83
  - 84
  - 86
  - 87
  - 89
  - 91
  - 92
  - 95
  - 99
  - 100
  - 103
  - 108
  - 109
  - 110
  - 115
  - 117
  - 120
  - 122
  - 125
  redis._parsers.resp3._RESP3Parser.handle_pubsub_push_response:
  - 27
  - 28
  redis._parsers.resp3._RESP3Parser.read_response:
  - 32
  - 34
  - 38
  - 39
  - 42
  redis._parsers.socket:
  - 24
  - 12
  - 21
  - 15
  redis._parsers.socket.SocketBuffer.__init__:
  - 36
  redis._parsers.socket.SocketBuffer._read_from_socket:
  - 65
  - 67
  - 69
  - 70
  - 73
  - 91
  - 77
  - 92
  - 85
  - 86
  - 90
  - 59
  - 60
  - 61
  - 62
  redis._parsers.socket.SocketBuffer.can_read:
  - 95
  redis._parsers.socket.SocketBuffer.close:
  - 153
  redis._parsers.socket.SocketBuffer.get_pos:
  - 121
  - 124
  redis._parsers.socket.SocketBuffer.purge:
  - 133
  - 136
  - 141
  - 144
  - 146
  - 148
  - 149
  redis._parsers.socket.SocketBuffer.read:
  - 102
  - 103
  - 104
  - 106
  - 107
  redis._parsers.socket.SocketBuffer.readline:
  - 112
  - 113
  - 115
  - 116
  redis._parsers.socket.SocketBuffer.rewind:
  - 130
  - 127
  redis._parsers.socket.SocketBuffer.unread_bytes:
  - 42
  - 43
  - 44
  - 39
  redis.asyncio.client:
  - 83
  - 91
  - 92
  - 93
  - 94
  - 95
  redis.asyncio.client.AsyncPubsubWorkerExceptionHandler.__call__:
  - 1311
  redis.asyncio.client.AsyncResponseCallbackProtocol.__call__:
  - 104
  redis.asyncio.client.Monitor:
  - 800
  - 801
  - 794
  redis.asyncio.client.Monitor.__aenter__:
  - 816
  - 812
  - 813
  - 815
  redis.asyncio.client.Monitor.__aexit__:
  - 821
  - 822
  redis.asyncio.client.Monitor.connect:
  - 808
  - 809
  redis.asyncio.client.Monitor.listen:
  - 861
  - 863
  redis.asyncio.client.Monitor.next_command:
  - 832
  - 833
  - 837
  - 839
  - 843
  - 849
  - 852
  - 853
  - 825
  - 826
  - 827
  - 828
  - 829
  - 830
  - 831
  redis.asyncio.client.Pipeline:
  - 1324
  redis.asyncio.client.Pipeline.__aexit__:
  - 1366
  redis.asyncio.client.Pipeline.__await__:
  - 1369
  redis.asyncio.client.Pipeline.__bool__:
  - 1377
  redis.asyncio.client.Pipeline.__init__:
  - 1359
  redis.asyncio.client.Pipeline.__len__:
  - 1374
  redis.asyncio.client.Pipeline._disconnect_raise_on_watching:
  - 1643
  - 1630
  - 1639
  redis.asyncio.client.Pipeline._disconnect_reset_raise_on_watching:
  - 1450
  - 1451
  - 1436
  - 1446
  redis.asyncio.client.Pipeline._execute_pipeline:
  - 1574
  - 1575
  - 1578
  - 1580
  - 1581
  - 1584
  - 1586
  - 1587
  redis.asyncio.client.Pipeline._execute_transaction:
  - 1539
  - 1540
  - 1542
  - 1543
  - 1544
  - 1550
  - 1551
  - 1555
  - 1556
  - 1561
  - 1563
  - 1564
  - 1565
  - 1567
  - 1498
  - 1501
  - 1509
  - 1511
  - 1514
  - 1515
  - 1516
  - 1519
  - 1521
  - 1522
  - 1526
  - 1528
  - 1535
  redis.asyncio.client.Pipeline.aclose:
  - 1408
  - 1409
  redis.asyncio.client.Pipeline.annotate_exception:
  - 1601
  - 1599
  redis.asyncio.client.Pipeline.discard:
  - 1680
  - 1677
  redis.asyncio.client.Pipeline.execute:
  - 1666
  - 1669
  - 1670
  - 1671
  - 1674
  - 1649
  - 1651
  - 1653
  - 1654
  - 1655
  - 1661
  - 1662
  redis.asyncio.client.Pipeline.execute.<lambda1>:
  - 1670
  redis.asyncio.client.Pipeline.execute.<lambda2>:
  - 1671
  redis.asyncio.client.Pipeline.execute_command:
  - 1427
  - 1428
  - 1429
  redis.asyncio.client.Pipeline.immediate_execute_command:
  - 1474
  - 1457
  - 1466
  - 1467
  - 1470
  - 1471
  redis.asyncio.client.Pipeline.immediate_execute_command.<lambda1>:
  - 1471
  redis.asyncio.client.Pipeline.immediate_execute_command.<lambda2>:
  - 1474
  redis.asyncio.client.Pipeline.load_scripts:
  - 1618
  - 1623
  - 1624
  - 1625
  - 1626
  - 1627
  redis.asyncio.client.Pipeline.multi:
  - 1416
  - 1418
  - 1412
  redis.asyncio.client.Pipeline.parse_response:
  - 1609
  - 1610
  - 1612
  redis.asyncio.client.Pipeline.pipeline_execute_command:
  - 1489
  - 1478
  redis.asyncio.client.Pipeline.raise_first_error:
  - 1592
  - 1593
  - 1591
  redis.asyncio.client.Pipeline.reset:
  - 1385
  - 1388
  - 1392
  - 1393
  - 1396
  - 1397
  - 1403
  - 1404
  redis.asyncio.client.Pipeline.unwatch:
  - 1689
  - 1690
  redis.asyncio.client.Pipeline.watch:
  - 1683
  - 1684
  - 1686
  redis.asyncio.client.PubSub:
  - 952
  - 867
  - 947
  redis.asyncio.client.PubSub.__aexit__:
  - 924
  redis.asyncio.client.PubSub.__del__:
  - 928
  - 927
  redis.asyncio.client.PubSub.__init__:
  - 900
  - 901
  - 902
  - 909
  - 910
  - 912
  - 913
  - 915
  - 917
  - 918
  - 888
  - 889
  redis.asyncio.client.PubSub._execute:
  - 1029
  - 1027
  - 1020
  - 1028
  redis.asyncio.client.PubSub._execute.<lambda1>:
  - 1028
  redis.asyncio.client.PubSub._execute.<lambda2>:
  - 1029
  redis.asyncio.client.PubSub._normalize_keys:
  - 1084
  - 1077
  redis.asyncio.client.PubSub._reconnect:
  - 1016
  - 1017
  - 1013
  redis.asyncio.client.PubSub.aclose:
  - 934
  - 937
  - 938
  - 939
  - 940
  - 943
  - 945
  redis.asyncio.client.PubSub.check_health:
  - 1070
  - 1072
  - 1068
  - 1062
  redis.asyncio.client.PubSub.close:
  - 949
  - 950
  redis.asyncio.client.PubSub.connect:
  - 993
  - 996
  - 997
  - 1000
  - 1002
  - 1003
  - 1004
  - 1006
  - 1007
  redis.asyncio.client.PubSub.execute_command:
  - 987
  - 981
  - 990
  redis.asyncio.client.PubSub.get_message:
  - 1175
  - 1176
  - 1174
  - 1167
  redis.asyncio.client.PubSub.handle_message:
  - 1190
  - 1195
  - 1197
  - 1199
  - 1200
  - 1207
  - 1223
  - 1224
  - 1226
  - 1227
  - 1228
  - 1231
  - 1232
  - 1233
  - 1235
  - 1237
  - 1238
  - 1240
  - 1241
  - 1242
  - 1243
  - 1245
  - 1247
  - 1250
  redis.asyncio.client.PubSub.listen:
  - 1160
  - 1161
  - 1162
  - 1158
  redis.asyncio.client.PubSub.on_connect:
  - 962
  - 963
  - 964
  - 966
  - 967
  - 968
  - 969
  - 971
  - 972
  - 973
  - 958
  redis.asyncio.client.PubSub.parse_response:
  - 1033
  - 1035
  - 1041
  - 1043
  - 1044
  - 1047
  - 1055
  redis.asyncio.client.PubSub.ping:
  - 1187
  - 1180
  redis.asyncio.client.PubSub.psubscribe:
  - 1094
  - 1095
  - 1097
  - 1098
  - 1102
  - 1103
  - 1104
  - 1087
  redis.asyncio.client.PubSub.punsubscribe:
  - 1120
  - 1108
  - 1113
  - 1114
  - 1115
  - 1119
  redis.asyncio.client.PubSub.reset:
  - 954
  - 955
  redis.asyncio.client.PubSub.run:
  - 1282
  - 1285
  - 1286
  - 1290
  - 1262
  - 1296
  - 1298
  - 1299
  - 1300
  - 1303
  - 1275
  - 1276
  - 1278
  - 1279
  redis.asyncio.client.PubSub.subscribe:
  - 1123
  - 1130
  - 1131
  - 1133
  - 1134
  - 1138
  - 1139
  - 1140
  redis.asyncio.client.PubSub.subscribed:
  - 977
  - 978
  redis.asyncio.client.PubSub.unsubscribe:
  - 1154
  - 1155
  - 1144
  - 1148
  - 1149
  - 1150
  redis.asyncio.client.PubsubWorkerExceptionHandler.__call__:
  - 1307
  redis.asyncio.client.Redis:
  - 113
  - 212
  - 217
  - 703
  redis.asyncio.client.Redis.__aenter__:
  - 634
  - 628
  - 631
  - 623
  redis.asyncio.client.Redis.__aexit__:
  - 656
  - 660
  - 661
  - 663
  redis.asyncio.client.Redis.__await__:
  - 423
  redis.asyncio.client.Redis.__del__:
  - 681
  - 674
  - 675
  - 678
  redis.asyncio.client.Redis.__init__:
  - 388
  - 389
  - 270
  - 398
  - 400
  - 401
  - 403
  - 408
  - 414
  - 292
  - 293
  - 299
  - 300
  - 301
  - 311
  - 313
  - 317
  - 331
  - 340
  - 341
  - 349
  - 359
  - 360
  - 379
  - 380
  - 381
  redis.asyncio.client.Redis._close_connection:
  - 718
  - 727
  redis.asyncio.client.Redis._decrement_usage:
  - 647
  redis.asyncio.client.Redis._increment_usage:
  - 638
  redis.asyncio.client.Redis._send_command_parse_response:
  - 714
  - 715
  - 711
  redis.asyncio.client.Redis.aclose:
  - 684
  - 695
  - 697
  - 698
  - 701
  redis.asyncio.client.Redis.client:
  - 618
  redis.asyncio.client.Redis.close:
  - 705
  - 708
  redis.asyncio.client.Redis.execute_command:
  - 737
  - 738
  - 740
  - 741
  - 744
  - 747
  - 748
  - 749
  - 750
  - 731
  - 732
  - 735
  redis.asyncio.client.Redis.execute_command.<lambda1>:
  - 741
  redis.asyncio.client.Redis.execute_command.<lambda2>:
  - 744
  redis.asyncio.client.Redis.from_pool:
  - 201
  - 206
  redis.asyncio.client.Redis.from_url:
  - 135
  - 177
  - 178
  - 182
  - 183
  - 184
  redis.asyncio.client.Redis.get_connection_kwargs:
  - 447
  redis.asyncio.client.Redis.get_encoder:
  - 443
  - 444
  redis.asyncio.client.Redis.get_retry:
  - 451
  redis.asyncio.client.Redis.initialize:
  - 426
  - 428
  - 429
  - 431
  - 432
  redis.asyncio.client.Redis.load_external_module:
  - 458
  - 478
  redis.asyncio.client.Redis.lock:
  - 593
  - 534
  - 591
  redis.asyncio.client.Redis.monitor:
  - 615
  redis.asyncio.client.Redis.parse_response:
  - 768
  - 771
  - 773
  - 775
  - 776
  - 777
  - 755
  - 757
  - 758
  - 759
  - 761
  - 763
  - 767
  redis.asyncio.client.Redis.pipeline:
  - 490
  - 483
  redis.asyncio.client.Redis.pubsub:
  - 610
  - 605
  redis.asyncio.client.Redis.set_response_callback:
  - 439
  redis.asyncio.client.Redis.set_retry:
  - 454
  - 455
  redis.asyncio.client.Redis.transaction:
  - 512
  - 513
  - 514
  - 516
  - 519
  - 520
  - 502
  - 508
  - 511
  redis.asyncio.client.ResponseCallbackProtocol.__call__:
  - 100
  redis.asyncio.cluster:
  - 97
  - 1921
  - 1923
  - 1922
  - 1926
  - 90
  redis.asyncio.cluster.AbstractStrategy.__len__:
  - 2108
  redis.asyncio.cluster.AbstractStrategy._annotate_exception:
  - 2064
  - 2066
  - 2061
  redis.asyncio.cluster.AbstractStrategy.execute_command:
  - 2056
  - 2055
  redis.asyncio.cluster.AbstractStrategy.initialize:
  - 2048
  - 2047
  redis.asyncio.cluster.ClusterNode:
  - 1153
  redis.asyncio.cluster.ClusterNode.__del__:
  - 1225
  - 1226
  - 1227
  - 1231
  redis.asyncio.cluster.ClusterNode.__eq__:
  - 1213
  redis.asyncio.cluster.ClusterNode.__hash__:
  - 1216
  redis.asyncio.cluster.ClusterNode.__init__:
  - 1185
  - 1186
  - 1192
  - 1198
  - 1201
  - 1202
  - 1203
  - 1204
  redis.asyncio.cluster.ClusterNode._mock:
  - 1408
  redis.asyncio.cluster.ClusterNode.acquire_connection:
  - 1250
  - 1252
  - 1262
  - 1263
  - 1267
  - 1269
  - 1270
  redis.asyncio.cluster.ClusterNode.disconnect:
  - 1245
  - 1244
  - 1237
  - 1239
  redis.asyncio.cluster.ClusterNode.disconnect_free_connections:
  - 1304
  - 1313
  - 1312
  - 1310
  redis.asyncio.cluster.ClusterNode.disconnect_if_needed:
  - 1281
  - 1282
  - 1276
  redis.asyncio.cluster.ClusterNode.execute_command:
  - 1345
  - 1347
  - 1350
  - 1354
  - 1356
  - 1358
  redis.asyncio.cluster.ClusterNode.execute_pipeline:
  - 1383
  - 1384
  - 1362
  - 1364
  - 1367
  - 1368
  - 1373
  - 1375
  redis.asyncio.cluster.ClusterNode.parse_response:
  - 1321
  - 1322
  - 1323
  - 1325
  - 1327
  - 1331
  - 1332
  - 1335
  - 1338
  - 1339
  redis.asyncio.cluster.ClusterNode.re_auth_callback:
  - 1389
  - 1391
  - 1392
  - 1393
  - 1396
  - 1398
  - 1399
  - 1401
  - 1404
  - 1405
  redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda1>:
  - 1393
  - 1394
  redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda2>:
  - 1396
  redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda3>:
  - 1399
  redis.asyncio.cluster.ClusterNode.re_auth_callback.<lambda4>:
  - 1399
  redis.asyncio.cluster.ClusterNode.release:
  - 1290
  - 1285
  redis.asyncio.cluster.ClusterNode.update_active_connections_for_reconnect:
  - 1293
  - 1298
  - 1299
  - 1300
  - 1301
  redis.asyncio.cluster.ClusterPipeline:
  - 1769
  redis.asyncio.cluster.ClusterPipeline.__aenter__:
  - 1823
  redis.asyncio.cluster.ClusterPipeline.__aexit__:
  - 1826
  redis.asyncio.cluster.ClusterPipeline.__await__:
  - 1829
  redis.asyncio.cluster.ClusterPipeline.__bool__:
  - 1832
  redis.asyncio.cluster.ClusterPipeline.__init__:
  - 1813
  - 1815
  redis.asyncio.cluster.ClusterPipeline.__len__:
  - 1836
  redis.asyncio.cluster.ClusterPipeline._split_command_across_slots:
  - 1882
  - 1883
  redis.asyncio.cluster.ClusterPipeline.discard:
  - 1901
  - 1902
  redis.asyncio.cluster.ClusterPipeline.execute:
  - 1873
  - 1857
  - 1877
  redis.asyncio.cluster.ClusterPipeline.execute_command:
  - 1841
  - 1852
  redis.asyncio.cluster.ClusterPipeline.initialize:
  - 1819
  redis.asyncio.cluster.ClusterPipeline.mset_nonatomic:
  - 1918
  redis.asyncio.cluster.ClusterPipeline.multi:
  - 1898
  - 1894
  redis.asyncio.cluster.ClusterPipeline.reset:
  - 1888
  - 1891
  redis.asyncio.cluster.ClusterPipeline.unlink:
  - 1913
  redis.asyncio.cluster.ClusterPipeline.unwatch:
  - 1909
  - 1910
  redis.asyncio.cluster.ClusterPipeline.watch:
  - 1905
  - 1906
  redis.asyncio.cluster.ExecutionStrategy.execute:
  - 1966
  redis.asyncio.cluster.ExecutionStrategy.execute_command:
  - 1955
  redis.asyncio.cluster.ExecutionStrategy.initialize:
  - 1944
  redis.asyncio.cluster.ExecutionStrategy.mset_nonatomic:
  - 1980
  redis.asyncio.cluster.ExecutionStrategy.multi:
  - 1998
  redis.asyncio.cluster.ExecutionStrategy.reset:
  - 1989
  redis.asyncio.cluster.ExecutionStrategy.unlink:
  - 2029
  redis.asyncio.cluster.ExecutionStrategy.unwatch:
  - 2016
  redis.asyncio.cluster.ExecutionStrategy.watch:
  - 2007
  redis.asyncio.cluster.NodesManager.__init__:
  - 1450
  - 1451
  - 1454
  - 1455
  redis.asyncio.cluster.NodesManager.aclose:
  - 1752
  - 1753
  - 1750
  redis.asyncio.cluster.NodesManager.get_node:
  - 1465
  - 1467
  - 1468
  - 1469
  - 1470
  - 1471
  redis.asyncio.cluster.NodesManager.get_node_from_slot:
  - 1577
  - 1581
  - 1580
  - 1573
  redis.asyncio.cluster.NodesManager.get_nodes_by_server_type:
  - 1594
  redis.asyncio.cluster.NodesManager.initialize:
  - 1667
  - 1668
  - 1669
  - 1674
  - 1677
  - 1680
  - 1682
  - 1683
  - 1685
  - 1686
  - 1691
  - 1693
  - 1694
  - 1700
  - 1701
  - 1705
  - 1713
  - 1714
  - 1717
  - 1720
  - 1599
  - 1727
  - 1609
  - 1738
  - 1740
  - 1742
  - 1617
  - 1745
  - 1621
  - 1622
  - 1624
  - 1627
  - 1648
  - 1649
  - 1651
  - 1655
  - 1656
  - 1657
  - 1660
  - 1662
  - 1663
  redis.asyncio.cluster.NodesManager.move_node_to_end_of_cached_nodes:
  - 1514
  - 1520
  - 1521
  - 1526
  - 1527
  redis.asyncio.cluster.NodesManager.move_slot:
  - 1539
  - 1542
  - 1544
  - 1549
  - 1556
  - 1559
  - 1562
  - 1531
  - 1532
  - 1534
  redis.asyncio.cluster.NodesManager.remap_host_port:
  - 1763
  - 1764
  - 1758
  redis.asyncio.cluster.NodesManager.set_nodes:
  - 1506
  - 1507
  - 1508
  - 1483
  - 1484
  - 1485
  - 1492
  - 1493
  - 1494
  - 1496
  - 1497
  redis.asyncio.cluster.PipelineStrategy.__init__:
  - 2113
  redis.asyncio.cluster.PipelineStrategy._execute:
  - 2176
  - 2177
  - 2180
  - 2181
  - 2183
  - 2184
  - 2186
  - 2187
  - 2188
  - 2190
  - 2193
  - 2194
  - 2195
  - 2197
  - 2202
  - 2203
  - 2209
  - 2211
  - 2216
  - 2221
  - 2224
  - 2226
  - 2228
  - 2230
  - 2231
  - 2235
  - 2236
  - 2238
  - 2239
  - 2241
  - 2243
  - 2247
  - 2248
  - 2250
  - 2251
  - 2254
  - 2260
  - 2265
  - 2266
  - 2267
  - 2272
  - 2275
  - 2276
  - 2170
  - 2174
  - 2175
  redis.asyncio.cluster.PipelineStrategy.execute:
  - 2150
  - 2154
  - 2155
  - 2160
  - 2133
  - 2137
  - 2140
  - 2141
  - 2142
  redis.asyncio.cluster.PipelineStrategy.mset_nonatomic:
  - 2121
  - 2122
  - 2123
  - 2125
  - 2126
  redis.asyncio.cluster.PipelineStrategy.reset:
  - 2282
  redis.asyncio.cluster.PipelineStrategy.unlink:
  - 2313
  - 2308
  redis.asyncio.cluster.RedisCluster:
  - 259
  - 508
  - 254
  - 103
  redis.asyncio.cluster.RedisCluster.__aenter__:
  - 514
  - 522
  - 525
  - 519
  redis.asyncio.cluster.RedisCluster.__aexit__:
  - 552
  - 554
  - 547
  - 551
  redis.asyncio.cluster.RedisCluster.__await__:
  - 557
  redis.asyncio.cluster.RedisCluster.__del__:
  - 570
  - 566
  - 567
  redis.asyncio.cluster.RedisCluster.__init__:
  - 384
  - 385
  - 388
  - 389
  - 391
  - 392
  - 393
  - 395
  - 398
  - 400
  - 401
  - 402
  - 407
  - 408
  - 410
  - 411
  - 416
  - 424
  - 317
  - 322
  - 327
  - 457
  - 459
  - 460
  - 462
  - 464
  - 476
  - 359
  - 361
  - 377
  - 381
  redis.asyncio.cluster.RedisCluster.__init__.<lambda1>:
  - 464
  - 465
  redis.asyncio.cluster.RedisCluster._decrement_usage:
  - 538
  redis.asyncio.cluster.RedisCluster._determine_nodes:
  - 736
  - 737
  - 739
  - 741
  - 725
  - 727
  - 729
  - 734
  - 735
  redis.asyncio.cluster.RedisCluster._determine_slot:
  - 768
  - 769
  - 771
  - 772
  - 775
  - 776
  - 747
  - 749
  - 784
  - 785
  - 789
  - 790
  - 759
  - 761
  - 795
  - 765
  redis.asyncio.cluster.RedisCluster._execute_command:
  - 1026
  - 1027
  - 964
  - 999
  - 1000
  - 978
  - 947
  - 948
  - 949
  - 979
  - 951
  - 983
  - 1012
  - 954
  - 955
  - 1020
  - 1016
  - 1023
  redis.asyncio.cluster.RedisCluster._increment_usage:
  - 529
  redis.asyncio.cluster.RedisCluster._is_node_flag:
  - 798
  redis.asyncio.cluster.RedisCluster._parse_target_nodes:
  - 801
  - 810
  - 803
  - 806
  redis.asyncio.cluster.RedisCluster.aclose:
  - 498
  - 499
  - 500
  - 501
  - 503
  - 505
  - 506
  redis.asyncio.cluster.RedisCluster.close:
  - 510
  - 511
  redis.asyncio.cluster.RedisCluster.execute_command:
  - 900
  - 902
  - 903
  - 904
  - 907
  - 912
  - 914
  - 915
  - 920
  - 921
  - 922
  - 924
  - 926
  - 928
  - 821
  - 841
  - 843
  - 844
  - 845
  - 849
  - 851
  - 852
  - 853
  - 855
  - 858
  - 859
  - 860
  - 862
  - 867
  - 868
  - 872
  - 873
  - 874
  - 878
  - 879
  - 880
  - 881
  - 882
  - 883
  - 886
  - 888
  - 890
  - 895
  redis.asyncio.cluster.RedisCluster.from_url:
  - 232
  - 233
  - 235
  - 206
  redis.asyncio.cluster.RedisCluster.get_connection_kwargs:
  - 706
  redis.asyncio.cluster.RedisCluster.get_default_node:
  - 603
  redis.asyncio.cluster.RedisCluster.get_encoder:
  - 702
  redis.asyncio.cluster.RedisCluster.get_node:
  - 624
  - 623
  redis.asyncio.cluster.RedisCluster.get_node_from_key:
  - 640
  - 641
  - 642
  - 645
  - 646
  - 629
  redis.asyncio.cluster.RedisCluster.get_nodes:
  - 587
  - 588
  redis.asyncio.cluster.RedisCluster.get_nodes_from_slot:
  - 675
  - 676
  - 670
  redis.asyncio.cluster.RedisCluster.get_primaries:
  - 592
  - 591
  redis.asyncio.cluster.RedisCluster.get_random_node:
  - 600
  - 599
  redis.asyncio.cluster.RedisCluster.get_random_primary_node:
  - 664
  - 667
  redis.asyncio.cluster.RedisCluster.get_random_primary_or_all_nodes:
  - 658
  - 659
  - 661
  - 655
  redis.asyncio.cluster.RedisCluster.get_replicas:
  - 595
  - 596
  redis.asyncio.cluster.RedisCluster.get_special_nodes:
  - 683
  - 686
  redis.asyncio.cluster.RedisCluster.initialize:
  - 480
  - 481
  - 482
  - 484
  - 486
  - 487
  - 492
  - 493
  - 479
  redis.asyncio.cluster.RedisCluster.keyslot:
  - 699
  - 694
  redis.asyncio.cluster.RedisCluster.lock:
  - 1057
  - 1114
  - 1116
  redis.asyncio.cluster.RedisCluster.on_connect:
  - 583
  - 582
  - 575
  redis.asyncio.cluster.RedisCluster.pipeline:
  - 1041
  - 1034
  - 1044
  redis.asyncio.cluster.RedisCluster.set_default_node:
  - 612
  - 607
  redis.asyncio.cluster.RedisCluster.set_response_callback:
  - 713
  redis.asyncio.cluster.RedisCluster.transaction:
  - 1130
  - 1135
  - 1136
  - 1137
  - 1138
  - 1141
  - 1142
  - 1143
  - 1144
  - 1147
  - 1148
  redis.asyncio.cluster.TransactionStrategy.__init__:
  - 2336
  - 2329
  - 2332
  - 2337
  redis.asyncio.cluster.TransactionStrategy._execute_command:
  - 2400
  - 2403
  - 2404
  - 2406
  - 2407
  - 2412
  - 2413
  - 2419
  - 2421
  - 2422
  - 2424
  - 2393
  - 2394
  - 2397
  - 2398
  redis.asyncio.cluster.TransactionStrategy._execute_transaction:
  - 2560
  - 2562
  - 2566
  - 2567
  - 2568
  - 2571
  - 2573
  - 2574
  - 2576
  - 2579
  - 2580
  - 2585
  - 2587
  - 2596
  - 2600
  - 2601
  - 2603
  - 2612
  - 2613
  - 2620
  - 2621
  - 2623
  - 2624
  - 2627
  - 2530
  - 2537
  - 2539
  - 2540
  - 2542
  - 2543
  - 2545
  - 2548
  - 2549
  - 2557
  - 2559
  redis.asyncio.cluster.TransactionStrategy._execute_transaction_with_retries:
  - 2522
  - 2523
  redis.asyncio.cluster.TransactionStrategy._execute_transaction_with_retries.<lambda1>:
  - 2523
  redis.asyncio.cluster.TransactionStrategy._get_client_and_connection_for_transaction:
  - 2344
  - 2352
  - 2357
  - 2358
  - 2362
  - 2363
  redis.asyncio.cluster.TransactionStrategy._get_connection_and_send_command:
  - 2441
  - 2442
  - 2443
  - 2439
  redis.asyncio.cluster.TransactionStrategy._immediate_execute_command:
  - 2433
  - 2434
  redis.asyncio.cluster.TransactionStrategy._immediate_execute_command.<lambda1>:
  - 2434
  redis.asyncio.cluster.TransactionStrategy._raise_first_error:
  - 2497
  - 2500
  - 2501
  - 2502
  redis.asyncio.cluster.TransactionStrategy._reinitialize_on_error:
  - 2467
  - 2468
  - 2471
  - 2472
  - 2473
  - 2475
  - 2477
  - 2478
  - 2482
  - 2488
  - 2491
  - 2492
  redis.asyncio.cluster.TransactionStrategy._send_command_parse_response:
  - 2459
  - 2460
  - 2462
  - 2455
  redis.asyncio.cluster.TransactionStrategy._validate_watch:
  - 2427
  redis.asyncio.cluster.TransactionStrategy.discard:
  - 2682
  redis.asyncio.cluster.TransactionStrategy.execute:
  - 2514
  - 2517
  redis.asyncio.cluster.TransactionStrategy.execute_command:
  - 2385
  - 2381
  - 2382
  - 2383
  redis.asyncio.cluster.TransactionStrategy.execute_command.runner:
  - 2377
  redis.asyncio.cluster.TransactionStrategy.multi:
  - 2661
  - 2663
  redis.asyncio.cluster.TransactionStrategy.reset:
  - 2657
  - 2635
  - 2637
  - 2640
  - 2641
  - 2644
  - 2648
  - 2649
  - 2650
  redis.asyncio.cluster.TransactionStrategy.unlink:
  - 2685
  redis.asyncio.cluster.TransactionStrategy.unwatch:
  - 2676
  - 2677
  redis.asyncio.cluster.TransactionStrategy.watch:
  - 2673
  - 2670
  redis.asyncio.connection:
  - 1061
  - 47
  - 1141
  - 92
  - 31
  redis.asyncio.connection.AbstractConnection:
  - 141
  - 110
  redis.asyncio.connection.AbstractConnection.__del__:
  - 264
  - 257
  - 258
  - 263
  redis.asyncio.connection.AbstractConnection.__init__:
  - 173
  - 187
  - 194
  - 195
  - 202
  - 208
  - 212
  - 214
  - 215
  - 216
  - 217
  - 219
  - 220
  - 221
  - 224
  - 226
  - 228
  - 231
  - 236
  - 243
  - 249
  redis.asyncio.connection.AbstractConnection.__repr__:
  - 278
  redis.asyncio.connection.AbstractConnection._close:
  - 273
  - 274
  - 270
  redis.asyncio.connection.AbstractConnection._error_message:
  - 396
  redis.asyncio.connection.AbstractConnection._ping_failed:
  - 552
  - 553
  redis.asyncio.connection.AbstractConnection._send_packed_command:
  - 564
  - 565
  redis.asyncio.connection.AbstractConnection._send_ping:
  - 546
  - 547
  - 548
  redis.asyncio.connection.AbstractConnection._socket_is_empty:
  - 758
  - 759
  redis.asyncio.connection.AbstractConnection.can_read_destructive:
  - 617
  - 619
  - 620
  - 615
  redis.asyncio.connection.AbstractConnection.check_health:
  - 561
  - 556
  - 557
  - 559
  redis.asyncio.connection.AbstractConnection.connect:
  - 328
  - 321
  - 324
  - 325
  redis.asyncio.connection.AbstractConnection.connect.<lambda1>:
  - 325
  redis.asyncio.connection.AbstractConnection.connect.<lambda2>:
  - 328
  redis.asyncio.connection.AbstractConnection.connect_check_health:
  - 353
  - 355
  - 376
  - 358
  - 359
  - 360
  - 361
  - 365
  - 334
  - 337
  - 338
  - 339
  - 371
  - 372
  - 342
  - 373
  - 374
  - 375
  redis.asyncio.connection.AbstractConnection.connect_check_health.<lambda1>:
  - 339
  redis.asyncio.connection.AbstractConnection.connect_check_health.<lambda2>:
  - 339
  redis.asyncio.connection.AbstractConnection.deregister_connect_callback:
  - 308
  - 302
  redis.asyncio.connection.AbstractConnection.disconnect:
  - 521
  - 523
  - 524
  - 526
  - 527
  - 530
  - 533
  - 534
  redis.asyncio.connection.AbstractConnection.on_connect:
  - 402
  - 403
  redis.asyncio.connection.AbstractConnection.on_connect_check_health:
  - 512
  - 516
  - 517
  - 406
  - 411
  - 414
  - 416
  - 420
  - 421
  - 422
  - 425
  - 426
  - 430
  - 433
  - 434
  - 436
  - 440
  - 441
  - 444
  - 450
  - 451
  - 453
  - 457
  - 458
  - 459
  - 462
  - 463
  - 464
  - 471
  - 472
  - 478
  - 485
  - 486
  - 495
  - 496
  - 506
  - 507
  - 510
  redis.asyncio.connection.AbstractConnection.pack_command:
  - 682
  - 689
  - 690
  - 691
  - 692
  - 693
  - 695
  - 698
  - 701
  - 702
  - 703
  - 705
  - 707
  - 708
  - 710
  - 711
  - 714
  - 718
  - 724
  redis.asyncio.connection.AbstractConnection.pack_commands:
  - 736
  - 737
  - 740
  - 742
  - 743
  - 747
  - 748
  - 750
  - 753
  - 754
  - 728
  - 734
  - 735
  redis.asyncio.connection.AbstractConnection.process_invalidation_messages:
  - 762
  - 763
  redis.asyncio.connection.AbstractConnection.re_auth:
  - 769
  - 770
  - 772
  - 773
  - 775
  redis.asyncio.connection.AbstractConnection.read_response:
  - 640
  - 641
  - 642
  - 645
  - 646
  - 650
  - 654
  - 658
  - 659
  - 662
  - 663
  - 669
  - 670
  - 673
  - 674
  - 677
  - 631
  - 633
  - 635
  - 636
  - 637
  redis.asyncio.connection.AbstractConnection.register_connect_callback:
  - 297
  - 290
  - 299
  - 298
  redis.asyncio.connection.AbstractConnection.send_command:
  - 609
  - 610
  - 611
  redis.asyncio.connection.AbstractConnection.send_packed_command:
  - 576
  - 577
  - 578
  - 580
  - 581
  - 582
  - 605
  - 585
  - 586
  - 588
  - 591
  - 592
  - 570
  - 571
  - 572
  - 573
  redis.asyncio.connection.AbstractConnection.set_parser:
  - 313
  - 318
  redis.asyncio.connection.AsyncConnectCallbackProtocol.__call__:
  - 103
  redis.asyncio.connection.BlockingConnectionPool:
  - 1432
  - 1383
  redis.asyncio.connection.BlockingConnectionPool.__init__:
  - 1424
  - 1429
  redis.asyncio.connection.BlockingConnectionPool.get_connection:
  - 1441
  - 1442
  - 1443
  - 1449
  - 1452
  - 1438
  redis.asyncio.connection.BlockingConnectionPool.release:
  - 1456
  - 1458
  - 1459
  redis.asyncio.connection.ConnectCallbackProtocol.__call__:
  - 99
  redis.asyncio.connection.Connection:
  - 780
  redis.asyncio.connection.Connection.__init__:
  - 793
  - 797
  redis.asyncio.connection.Connection._connect:
  - 809
  - 810
  - 811
  - 812
  - 816
  - 817
  - 818
  - 821
  - 822
  - 823
  - 824
  - 829
  redis.asyncio.connection.Connection.repr_pieces:
  - 801
  - 802
  redis.asyncio.connection.ConnectionPool:
  - 1145
  - 1247
  redis.asyncio.connection.ConnectionPool.__init__:
  - 1221
  - 1222
  - 1223
  - 1224
  - 1225
  - 1226
  - 1213
  redis.asyncio.connection.ConnectionPool.__repr__:
  - 1229
  redis.asyncio.connection.ConnectionPool._mock:
  - 1374
  redis.asyncio.connection.ConnectionPool.aclose:
  - 1349
  - 1350
  redis.asyncio.connection.ConnectionPool.can_get_connection:
  - 1241
  - 1244
  redis.asyncio.connection.ConnectionPool.disconnect:
  - 1319
  - 1326
  - 1327
  - 1332
  - 1333
  - 1336
  - 1337
  redis.asyncio.connection.ConnectionPool.ensure_connection:
  - 1290
  - 1291
  - 1297
  - 1300
  - 1301
  - 1302
  redis.asyncio.connection.ConnectionPool.from_url:
  - 1161
  - 1202
  - 1203
  - 1204
  redis.asyncio.connection.ConnectionPool.get_available_connection:
  - 1266
  - 1268
  - 1270
  - 1272
  - 1273
  redis.asyncio.connection.ConnectionPool.get_connection:
  - 1259
  - 1253
  - 1262
  - 1255
  redis.asyncio.connection.ConnectionPool.get_encoder:
  - 1280
  - 1281
  - 1282
  - 1277
  - 1279
  redis.asyncio.connection.ConnectionPool.make_connection:
  - 1286
  - 1287
  redis.asyncio.connection.ConnectionPool.re_auth_callback:
  - 1360
  - 1361
  - 1362
  - 1365
  - 1367
  - 1368
  - 1370
  - 1371
  redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda1>:
  - 1362
  - 1363
  redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda2>:
  - 1365
  redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda3>:
  - 1368
  redis.asyncio.connection.ConnectionPool.re_auth_callback.<lambda4>:
  - 1368
  redis.asyncio.connection.ConnectionPool.release:
  - 1313
  - 1314
  - 1315
  - 1306
  - 1309
  - 1310
  - 1311
  redis.asyncio.connection.ConnectionPool.reset:
  - 1238
  redis.asyncio.connection.ConnectionPool.set_retry:
  - 1353
  - 1355
  redis.asyncio.connection.ConnectionPool.update_active_connections_for_reconnect:
  - 1345
  - 1346
  - 1341
  redis.asyncio.connection.RedisSSLContext.__init__:
  - 964
  - 956
  - 958
  - 951
  redis.asyncio.connection.RedisSSLContext.get:
  - 992
  - 994
  - 995
  - 1000
  - 1001
  - 1004
  - 1006
  - 1007
  - 984
  - 985
  - 988
  - 989
  - 991
  redis.asyncio.connection.SSLConnection:
  - 837
  redis.asyncio.connection.SSLConnection.__init__:
  - 858
  - 875
  - 861
  redis.asyncio.connection.SSLConnection._connection_arguments:
  - 878
  - 879
  redis.asyncio.connection.UnixDomainSocketConnection:
  - 1013
  redis.asyncio.connection.UnixDomainSocketConnection.__init__:
  - 1017
  redis.asyncio.connection.UnixDomainSocketConnection._connect:
  - 1026
  - 1027
  - 1030
  redis.asyncio.connection.UnixDomainSocketConnection.repr_pieces:
  - 1021
  - 1022
  redis.asyncio.connection._Sentinel:
  - 85
  redis.asyncio.connection.parse_ssl_verify_flags:
  - 1057
  - 1050
  - 1053
  - 1054
  - 1055
  redis.asyncio.connection.parse_url:
  - 1089
  - 1092
  - 1093
  - 1094
  - 1095
  - 1096
  - 1098
  - 1104
  - 1105
  - 1106
  - 1107
  - 1110
  - 1111
  - 1112
  - 1115
  - 1116
  - 1117
  - 1118
  - 1119
  - 1123
  - 1125
  - 1129
  redis.asyncio.connection.to_bool:
  - 1040
  - 1042
  - 1044
  redis.asyncio.http.http_client.AsyncHTTPClient.delete:
  - 40
  redis.asyncio.http.http_client.AsyncHTTPClient.get:
  - 25
  redis.asyncio.http.http_client.AsyncHTTPClient.patch:
  - 91
  redis.asyncio.http.http_client.AsyncHTTPClient.post:
  - 57
  redis.asyncio.http.http_client.AsyncHTTPClient.put:
  - 74
  redis.asyncio.http.http_client.AsyncHTTPClient.request:
  - 107
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper:
  - 113
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.__init__:
  - 131
  - 118
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.delete:
  - 158
  - 159
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.get:
  - 144
  - 143
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.patch:
  - 232
  - 231
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.post:
  - 181
  - 182
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.put:
  - 206
  - 207
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper.request:
  - 256
  - 255
  redis.asyncio.lock:
  - 11
  - 14
  redis.asyncio.lock.Lock:
  - 18
  redis.asyncio.lock.Lock.__aenter__:
  - 171
  redis.asyncio.lock.Lock.__aexit__:
  - 177
  - 179
  - 181
  redis.asyncio.lock.Lock.__init__:
  - 154
  - 155
  - 93
  - 158
  redis.asyncio.lock.Lock.acquire:
  - 224
  - 227
  - 229
  - 230
  - 232
  - 207
  - 208
  - 211
  - 214
  - 215
  - 216
  - 218
  - 221
  - 222
  - 191
  redis.asyncio.lock.Lock.do_acquire:
  - 240
  - 235
  - 237
  redis.asyncio.lock.Lock.do_extend:
  - 316
  - 317
  - 318
  redis.asyncio.lock.Lock.do_reacquire:
  - 338
  - 339
  - 340
  redis.asyncio.lock.Lock.do_release:
  - 289
  - 290
  redis.asyncio.lock.Lock.extend:
  - 313
  - 299
  - 309
  - 311
  redis.asyncio.lock.Lock.locked:
  - 248
  - 245
  redis.asyncio.lock.Lock.owned:
  - 257
  - 259
  - 262
  - 263
  - 251
  - 254
  redis.asyncio.lock.Lock.reacquire:
  - 328
  - 331
  - 333
  - 335
  redis.asyncio.lock.Lock.register_scripts:
  - 163
  - 164
  - 165
  - 166
  - 167
  - 168
  redis.asyncio.lock.Lock.release:
  - 280
  - 274
  - 267
  redis.asyncio.multidb.client:
  - 30
  redis.asyncio.multidb.client.MultiDBClient:
  - 35
  redis.asyncio.multidb.client.MultiDBClient.__aenter__:
  - 88
  - 87
  redis.asyncio.multidb.client.MultiDBClient.__aexit__:
  - 96
  - 97
  - 92
  - 93
  - 94
  - 95
  redis.asyncio.multidb.client.MultiDBClient.__init__:
  - 67
  - 68
  - 41
  - 43
  - 79
  - 80
  - 49
  - 53
  - 59
  - 63
  redis.asyncio.multidb.client.MultiDBClient._change_active_database:
  - 216
  - 220
  redis.asyncio.multidb.client.MultiDBClient._check_databases_health:
  - 354
  - 324
  - 325
  - 327
  - 329
  - 330
  - 340
  - 348
  - 343
  - 344
  - 316
  redis.asyncio.multidb.client.MultiDBClient._check_db_health:
  - 384
  - 388
  - 392
  - 393
  - 396
  redis.asyncio.multidb.client.MultiDBClient._on_circuit_state_change_callback:
  - 416
  - 418
  - 419
  - 404
  - 406
  - 407
  - 408
  - 412
  - 413
  redis.asyncio.multidb.client.MultiDBClient._perform_initial_health_check:
  - 360
  - 363
  - 366
  - 367
  - 368
  - 372
  - 373
  - 376
  - 378
  redis.asyncio.multidb.client.MultiDBClient.aclose:
  - 422
  - 423
  redis.asyncio.multidb.client.MultiDBClient.add_database:
  - 196
  - 167
  - 204
  - 206
  - 176
  - 209
  - 178
  - 179
  - 210
  - 211
  - 182
  - 183
  - 184
  - 188
  - 191
  redis.asyncio.multidb.client.MultiDBClient.add_failure_detector:
  - 258
  - 255
  redis.asyncio.multidb.client.MultiDBClient.add_health_check:
  - 265
  - 261
  redis.asyncio.multidb.client.MultiDBClient.execute_command:
  - 272
  - 274
  - 268
  - 271
  redis.asyncio.multidb.client.MultiDBClient.get_databases:
  - 134
  redis.asyncio.multidb.client.MultiDBClient.initialize:
  - 100
  - 105
  - 108
  - 109
  - 117
  - 119
  - 122
  - 123
  - 126
  redis.asyncio.multidb.client.MultiDBClient.pipeline:
  - 280
  - 277
  redis.asyncio.multidb.client.MultiDBClient.pubsub:
  - 305
  - 313
  - 310
  - 311
  redis.asyncio.multidb.client.MultiDBClient.remove_database:
  - 226
  - 227
  - 229
  - 233
  - 223
  redis.asyncio.multidb.client.MultiDBClient.set_active_database:
  - 140
  - 145
  - 146
  - 150
  - 153
  - 155
  - 156
  - 157
  redis.asyncio.multidb.client.MultiDBClient.transaction:
  - 296
  - 290
  - 293
  - 294
  redis.asyncio.multidb.client.MultiDBClient.update_database_weight:
  - 236
  - 241
  - 242
  - 246
  - 249
  - 250
  - 252
  redis.asyncio.multidb.client.Pipeline:
  - 431
  redis.asyncio.multidb.client.Pipeline.__aexit__:
  - 443
  - 444
  redis.asyncio.multidb.client.Pipeline.__await__:
  - 447
  redis.asyncio.multidb.client.Pipeline.__bool__:
  - 456
  redis.asyncio.multidb.client.Pipeline.__len__:
  - 453
  redis.asyncio.multidb.client.Pipeline.aclose:
  - 464
  - 463
  redis.asyncio.multidb.client.Pipeline.execute:
  - 486
  - 487
  - 488
  - 491
  - 492
  - 495
  redis.asyncio.multidb.client.Pipeline.execute_command:
  - 482
  - 483
  redis.asyncio.multidb.client.Pipeline.pipeline_execute_command:
  - 467
  - 478
  redis.asyncio.multidb.client.PubSub:
  - 499
  redis.asyncio.multidb.client.PubSub.__aexit__:
  - 518
  redis.asyncio.multidb.client.PubSub.__init__:
  - 504
  - 512
  redis.asyncio.multidb.client.PubSub.aclose:
  - 521
  redis.asyncio.multidb.client.PubSub.execute_command:
  - 528
  redis.asyncio.multidb.client.PubSub.get_message:
  - 584
  - 577
  redis.asyncio.multidb.client.PubSub.psubscribe:
  - 540
  - 533
  redis.asyncio.multidb.client.PubSub.punsubscribe:
  - 545
  - 549
  redis.asyncio.multidb.client.PubSub.run:
  - 609
  - 596
  redis.asyncio.multidb.client.PubSub.subscribe:
  - 561
  - 554
  redis.asyncio.multidb.client.PubSub.unsubscribe:
  - 570
  - 566
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.active_database:
  - 52
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.active_pubsub:
  - 69
  - 63
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.add_failure_detector:
  - 46
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.command_retry:
  - 81
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.databases:
  - 35
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_command:
  - 91
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_pipeline:
  - 96
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_pubsub_method:
  - 108
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_pubsub_run:
  - 113
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.execute_transaction:
  - 103
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.failover_strategy_executor:
  - 75
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.failure_detectors:
  - 41
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.pubsub:
  - 86
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor.set_active_database:
  - 57
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.__init__:
  - 129
  - 142
  - 144
  - 145
  - 150
  - 157
  - 158
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._check_active_database:
  - 299
  - 302
  - 307
  - 310
  - 311
  - 313
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection:
  - 284
  - 293
  - 294
  - 295
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda1>:
  - 294
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda2>:
  - 295
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.wrapper:
  - 290
  - 291
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._on_command_fail:
  - 316
  - 317
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._register_command_execution:
  - 321
  - 322
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher:
  - 325
  - 328
  - 329
  - 330
  - 331
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.add_failure_detector:
  - 169
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command:
  - 221
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_command.callback:
  - 218
  - 215
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline:
  - 233
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback:
  - 225
  - 226
  - 227
  - 229
  - 230
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method:
  - 267
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback:
  - 258
  - 259
  - 260
  - 262
  - 264
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run:
  - 279
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback:
  - 273
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction:
  - 254
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback:
  - 251
  - 244
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.pubsub:
  - 210
  - 206
  - 207
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor.set_active_database:
  - 179
  - 180
  - 181
  redis.asyncio.multidb.config.DatabaseConfig:
  - 59
  - 84
  redis.asyncio.multidb.config.DatabaseConfig.default_circuit_breaker:
  - 92
  - 93
  redis.asyncio.multidb.config.MultiDbConfig:
  - 98
  - 141
  - 142
  - 157
  redis.asyncio.multidb.config.MultiDbConfig.databases:
  - 192
  - 163
  - 165
  - 168
  - 172
  - 173
  - 176
  - 177
  - 178
  - 180
  - 184
  - 187
  - 191
  redis.asyncio.multidb.config.MultiDbConfig.default_failover_strategy:
  - 220
  redis.asyncio.multidb.config.MultiDbConfig.default_failure_detectors:
  - 205
  - 206
  redis.asyncio.multidb.config.MultiDbConfig.default_health_checks:
  - 216
  redis.asyncio.multidb.config.default_event_dispatcher:
  - 54
  redis.asyncio.multidb.database.AsyncDatabase:
  - 12
  redis.asyncio.multidb.database.AsyncDatabase.circuit:
  - 35
  - 29
  redis.asyncio.multidb.database.AsyncDatabase.client:
  - 17
  - 23
  redis.asyncio.multidb.database.Database.__init__:
  - 53
  redis.asyncio.multidb.event.AsyncActiveDatabaseChanged:
  - 10
  redis.asyncio.multidb.event.CloseConnectionOnActiveDatabaseChanged:
  - 62
  redis.asyncio.multidb.event.CloseConnectionOnActiveDatabaseChanged.listen:
  - 67
  - 69
  - 70
  - 71
  redis.asyncio.multidb.event.RegisterCommandFailure:
  - 75
  redis.asyncio.multidb.event.RegisterCommandFailure.listen:
  - 83
  - 84
  redis.asyncio.multidb.event.ResubscribeOnActiveDatabaseChanged:
  - 44
  redis.asyncio.multidb.event.ResubscribeOnActiveDatabaseChanged.listen:
  - 56
  - 58
  - 51
  - 53
  redis.asyncio.multidb.failover.AsyncFailoverStrategy.database:
  - 19
  redis.asyncio.multidb.failover.AsyncFailoverStrategy.set_databases:
  - 24
  redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor:
  - 73
  redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor.execute:
  - 103
  - 104
  - 107
  - 108
  - 110
  - 114
  - 115
  redis.asyncio.multidb.failover.FailoverStrategyExecutor.execute:
  - 49
  redis.asyncio.multidb.failover.FailoverStrategyExecutor.failover_attempts:
  - 32
  redis.asyncio.multidb.failover.FailoverStrategyExecutor.failover_delay:
  - 38
  redis.asyncio.multidb.failover.FailoverStrategyExecutor.strategy:
  - 44
  redis.asyncio.multidb.failover.WeightBasedFailoverStrategy:
  - 54
  redis.asyncio.multidb.failover.WeightBasedFailoverStrategy.__init__:
  - 59
  redis.asyncio.multidb.failover.WeightBasedFailoverStrategy.database:
  - 62
  - 63
  redis.asyncio.multidb.failure_detector.AsyncFailureDetector.register_command_execution:
  - 14
  redis.asyncio.multidb.failure_detector.AsyncFailureDetector.register_failure:
  - 9
  redis.asyncio.multidb.failure_detector.AsyncFailureDetector.set_command_executor:
  - 19
  redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper:
  - 24
  redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.register_command_execution:
  - 35
  redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.register_failure:
  - 32
  redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper.set_command_executor:
  - 38
  redis.asyncio.multidb.healthcheck:
  - 19
  redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy.__init__:
  - 54
  redis.asyncio.multidb.healthcheck.HealthCheck.check_health:
  - 25
  redis.asyncio.multidb.healthcheck.HealthCheckPolicy:
  - 30
  redis.asyncio.multidb.healthcheck.HealthCheckPolicy.execute:
  - 48
  redis.asyncio.multidb.healthcheck.HealthCheckPolicy.health_check_delay:
  - 43
  redis.asyncio.multidb.healthcheck.HealthCheckPolicy.health_check_probes:
  - 37
  redis.asyncio.multidb.healthcheck.HealthyAllPolicy:
  - 73
  redis.asyncio.multidb.healthcheck.HealthyAllPolicy.__init__:
  - 78
  redis.asyncio.multidb.healthcheck.HealthyAllPolicy.execute:
  - 81
  - 82
  - 84
  - 89
  - 90
  redis.asyncio.multidb.healthcheck.HealthyAnyPolicy:
  - 128
  redis.asyncio.multidb.healthcheck.HealthyAnyPolicy.__init__:
  - 133
  redis.asyncio.multidb.healthcheck.HealthyAnyPolicy.execute:
  - 138
  - 141
  - 143
  - 149
  - 153
  - 154
  - 156
  - 158
  redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy:
  - 95
  redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy.__init__:
  - 100
  redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy.execute:
  - 103
  - 104
  - 109
  - 111
  - 113
  - 117
  - 122
  - 123
  redis.asyncio.multidb.healthcheck.LagAwareHealthCheck:
  - 192
  redis.asyncio.multidb.healthcheck.LagAwareHealthCheck.__init__:
  - 229
  - 233
  - 213
  - 230
  redis.asyncio.multidb.healthcheck.LagAwareHealthCheck.check_health:
  - 262
  - 263
  - 264
  - 269
  - 270
  - 274
  - 275
  - 247
  - 282
  - 252
  - 253
  redis.asyncio.multidb.healthcheck.PingHealthCheck:
  - 174
  redis.asyncio.multidb.healthcheck.PingHealthCheck.check_health:
  - 179
  - 180
  - 183
  - 184
  - 185
  redis.asyncio.retry:
  - 9
  - 7
  redis.asyncio.retry.Retry.__eq__:
  - 34
  - 28
  redis.asyncio.retry.Retry.__init__:
  - 25
  redis.asyncio.retry.Retry.call_with_retry:
  - 40
  - 46
  - 50
  - 53
  - 54
  - 56
  - 57
  - 58
  redis.asyncio.sentinel.Sentinel:
  - 171
  redis.asyncio.sentinel.Sentinel.__init__:
  - 216
  - 209
  - 211
  redis.asyncio.sentinel.Sentinel.__repr__:
  - 264
  - 257
  - 258
  redis.asyncio.sentinel.Sentinel.check_master_state:
  - 268
  - 271
  redis.asyncio.sentinel.Sentinel.discover_master:
  - 288
  - 290
  - 291
  - 306
  - 307
  - 276
  - 283
  - 284
  - 286
  redis.asyncio.sentinel.Sentinel.discover_slaves:
  - 324
  - 325
  - 327
  - 330
  - 331
  redis.asyncio.sentinel.Sentinel.execute_command:
  - 224
  - 229
  - 233
  - 235
  - 236
  - 239
  - 245
  - 248
  - 250
  - 253
  redis.asyncio.sentinel.Sentinel.filter_slaves:
  - 313
  - 315
  - 316
  - 318
  redis.asyncio.sentinel.Sentinel.master_for:
  - 367
  - 368
  - 370
  - 372
  - 342
  redis.asyncio.sentinel.Sentinel.slave_for:
  - 399
  - 400
  - 402
  - 404
  - 381
  redis.asyncio.sentinel.SentinelConnectionPool:
  - 100
  redis.asyncio.sentinel.SentinelConnectionPool.__init__:
  - 108
  - 112
  - 116
  - 117
  - 118
  - 119
  redis.asyncio.sentinel.SentinelConnectionPool.get_master_address:
  - 144
  - 145
  - 149
  - 143
  redis.asyncio.sentinel.SentinelConnectionPool.owns_connection:
  - 140
  redis.asyncio.sentinel.SentinelConnectionPool.reset:
  - 132
  redis.asyncio.sentinel.SentinelConnectionPool.rotate_slaves:
  - 161
  - 164
  - 153
  - 154
  - 155
  - 156
  - 157
  - 158
  - 159
  redis.asyncio.sentinel.SentinelManagedConnection.__init__:
  - 32
  - 33
  redis.asyncio.sentinel.SentinelManagedConnection.__repr__:
  - 37
  redis.asyncio.sentinel.SentinelManagedConnection._connect_retry:
  - 50
  - 52
  - 53
  - 55
  - 57
  redis.asyncio.sentinel.SentinelManagedConnection.connect:
  - 65
  - 63
  redis.asyncio.sentinel.SentinelManagedConnection.connect.<lambda1>:
  - 65
  redis.asyncio.sentinel.SentinelManagedConnection.connect_to:
  - 44
  redis.asyncio.sentinel.SentinelManagedConnection.read_response:
  - 90
  - 84
  - 77
  redis.asyncio.utils:
  - 3
  redis.asyncio.utils.from_url:
  - 8
  - 16
  redis.asyncio.utils.pipeline.__aexit__:
  - 27
  redis.asyncio.utils.pipeline.__init__:
  - 21
  redis.auth.err.InvalidTokenSchemaErr:
  - 14
  redis.auth.err.InvalidTokenSchemaErr.__init__:
  - 19
  - 21
  redis.auth.err.RequestTokenErr:
  - 5
  redis.auth.err.RequestTokenErr.__init__:
  - 10
  redis.auth.err.TokenRenewalErr:
  - 26
  redis.auth.err.TokenRenewalErr.__init__:
  - 31
  redis.auth.idp:
  - 5
  redis.auth.idp.IdentityProviderConfigInterface:
  - 22
  redis.auth.idp.IdentityProviderInterface:
  - 11
  redis.auth.token.JWToken.__init__:
  - 89
  - 92
  - 94
  redis.auth.token.JWToken._validate_token:
  - 129
  - 127
  redis.auth.token.JWToken.get_expires_at_ms:
  - 121
  redis.auth.token.JWToken.get_received_at_ms:
  - 124
  redis.auth.token.JWToken.is_expired:
  - 98
  - 102
  redis.auth.token.JWToken.try_get:
  - 115
  redis.auth.token.JWToken.ttl:
  - 107
  - 111
  redis.auth.token.SimpleToken.is_expired:
  - 60
  - 63
  redis.auth.token.SimpleToken.try_get:
  - 66
  redis.auth.token.SimpleToken.ttl:
  - 57
  - 54
  redis.auth.token.TokenResponse.get_ttl_ms:
  - 41
  redis.auth.token_manager:
  - 12
  redis.auth.token_manager.CredentialsListener:
  - 16
  redis.auth.token_manager.RetryPolicy.get_delay_in_ms:
  - 56
  redis.auth.token_manager.RetryPolicy.get_max_attempts:
  - 48
  redis.auth.token_manager.TokenManager.__del__:
  - 133
  - 134
  redis.auth.token_manager.TokenManager._calculate_renewal_delay:
  - 245
  - 246
  - 247
  redis.auth.token_manager.TokenManager._delay_for_lower_refresh:
  - 254
  - 255
  redis.auth.token_manager.TokenManager._delay_for_ratio_refresh:
  - 267
  - 261
  redis.auth.token_manager.TokenManager._renew_token:
  - 292
  - 294
  - 298
  - 301
  - 302
  - 271
  - 303
  - 306
  - 277
  - 278
  - 279
  - 280
  - 309
  - 283
  - 286
  - 287
  redis.auth.token_manager.TokenManager._renew_token_async:
  - 314
  - 320
  - 321
  - 322
  - 323
  - 326
  - 329
  - 330
  - 335
  - 337
  - 341
  - 344
  - 345
  - 346
  - 347
  - 349
  - 352
  - 354
  - 355
  redis.auth.token_manager.TokenManager.acquire_token:
  - 226
  - 216
  - 218
  - 220
  - 221
  redis.auth.token_manager.TokenManager.acquire_token_async:
  - 230
  - 232
  - 234
  - 235
  - 237
  - 242
  redis.auth.token_manager.TokenManager.start:
  - 161
  - 162
  - 165
  - 168
  - 144
  - 177
  - 178
  - 147
  - 181
  - 150
  redis.auth.token_manager.TokenManager.start.renew_with_callback:
  - 172
  - 174
  redis.auth.token_manager.TokenManager.start.start_loop:
  - 157
  - 158
  - 159
  redis.auth.token_manager.TokenManager.start_async:
  - 193
  - 194
  - 197
  - 200
  - 201
  - 203
  - 204
  redis.auth.token_manager.TokenManager.stop:
  - 209
  - 210
  - 211
  - 212
  redis.auth.token_manager.TokenManagerConfig.get_expiration_refresh_ratio:
  - 80
  redis.auth.token_manager.TokenManagerConfig.get_lower_refresh_bound_millis:
  - 91
  redis.auth.token_manager.TokenManagerConfig.get_retry_policy:
  - 113
  redis.auth.token_manager.TokenManagerConfig.get_token_request_execution_timeout_in_ms:
  - 104
  redis.auth.token_manager._async_to_sync_wrapper:
  - 359
  redis.auth.token_manager._async_to_sync_wrapper.wrapped:
  - 371
  redis.background.BackgroundScheduler:
  - 7
  redis.background.BackgroundScheduler.__del__:
  - 18
  redis.background.BackgroundScheduler.__init__:
  - 14
  redis.background.BackgroundScheduler._call_later:
  - 112
  - 114
  redis.background.BackgroundScheduler._call_later_recurring:
  - 124
  - 126
  redis.background.BackgroundScheduler._execute_recurring:
  - 137
  - 141
  - 145
  - 151
  - 154
  redis.background.BackgroundScheduler.run_once:
  - 41
  - 45
  - 49
  - 52
  - 54
  - 59
  redis.background.BackgroundScheduler.run_recurring:
  - 66
  - 70
  - 73
  - 75
  - 80
  - 62
  redis.background.BackgroundScheduler.run_recurring_async:
  - 106
  - 85
  - 90
  - 93
  - 94
  redis.background.BackgroundScheduler.run_recurring_async.tick:
  - 98
  - 101
  - 103
  redis.background.BackgroundScheduler.stop:
  - 34
  - 35
  - 36
  - 38
  - 21
  - 25
  - 29
  - 30
  redis.background._async_to_sync_wrapper:
  - 190
  redis.background._async_to_sync_wrapper.wrapped:
  - 202
  redis.background._start_event_loop_in_thread:
  - 162
  - 169
  - 170
  - 172
  - 176
  - 177
  - 178
  - 180
  - 181
  - 186
  redis.backoff.AbstractBackoff:
  - 11
  redis.backoff.AbstractBackoff.compute:
  - 23
  redis.backoff.AbstractBackoff.reset:
  - 14
  redis.backoff.ConstantBackoff:
  - 28
  redis.backoff.ConstantBackoff.__eq__:
  - 38
  redis.backoff.ConstantBackoff.__hash__:
  - 35
  redis.backoff.ConstantBackoff.__init__:
  - 31
  redis.backoff.DecorrelatedJitterBackoff:
  - 128
  redis.backoff.DecorrelatedJitterBackoff.__eq__:
  - 143
  redis.backoff.DecorrelatedJitterBackoff.__hash__:
  - 140
  redis.backoff.DecorrelatedJitterBackoff.__init__:
  - 131
  redis.backoff.DecorrelatedJitterBackoff.compute:
  - 152
  - 153
  - 154
  redis.backoff.EqualJitterBackoff:
  - 103
  redis.backoff.EqualJitterBackoff.__eq__:
  - 117
  redis.backoff.EqualJitterBackoff.__hash__:
  - 114
  redis.backoff.EqualJitterBackoff.__init__:
  - 106
  redis.backoff.EqualJitterBackoff.compute:
  - 123
  - 124
  redis.backoff.ExponentialBackoff:
  - 55
  redis.backoff.ExponentialBackoff.__eq__:
  - 69
  redis.backoff.ExponentialBackoff.__hash__:
  - 66
  redis.backoff.ExponentialBackoff.__init__:
  - 58
  redis.backoff.ExponentialBackoff.compute:
  - 75
  redis.backoff.ExponentialWithJitterBackoff:
  - 159
  redis.backoff.ExponentialWithJitterBackoff.__eq__:
  - 173
  redis.backoff.ExponentialWithJitterBackoff.__hash__:
  - 170
  redis.backoff.ExponentialWithJitterBackoff.__init__:
  - 162
  redis.backoff.ExponentialWithJitterBackoff.compute:
  - 179
  redis.backoff.FullJitterBackoff:
  - 79
  redis.backoff.FullJitterBackoff.__eq__:
  - 93
  redis.backoff.FullJitterBackoff.__hash__:
  - 90
  redis.backoff.FullJitterBackoff.__init__:
  - 82
  redis.backoff.FullJitterBackoff.compute:
  - 99
  redis.backoff.NoBackoff:
  - 48
  redis.backoff.NoBackoff.__init__:
  - 51
  redis.backoff.default_backoff:
  - 183
  redis.cache.CacheEntry.__eq__:
  - 56
  redis.cache.CacheEntry.__hash__:
  - 51
  redis.cache.CacheFactory.__init__:
  - 420
  - 421
  redis.cache.CacheFactory.get_cache:
  - 424
  - 425
  redis.cache.CacheKey:
  - 20
  redis.cache.DefaultCache.__init__:
  - 161
  - 163
  redis.cache.DefaultCache.delete_by_cache_keys:
  - 206
  - 207
  - 208
  - 209
  - 211
  redis.cache.DefaultCache.delete_by_redis_keys:
  - 224
  - 225
  - 226
  - 228
  - 232
  - 233
  - 234
  - 235
  - 237
  - 238
  - 221
  redis.cache.DefaultCache.flush:
  - 243
  - 244
  redis.cache.DefaultCache.get:
  - 200
  - 195
  - 197
  redis.cache.DefaultCache.is_cachable:
  - 248
  redis.cache.DefaultCache.set:
  - 187
  - 189
  - 190
  - 183
  redis.cache.DefaultCache.size:
  - 180
  redis.cache.LRUPolicy._assert_cache:
  - 294
  redis.cache.LRUPolicy.evict_many:
  - 273
  - 274
  - 279
  - 280
  - 281
  redis.cache.LRUPolicy.evict_next:
  - 268
  - 269
  redis.cache.LRUPolicy.touch:
  - 288
  - 291
  - 286
  redis.client:
  - 74
  redis.client.CaseInsensitiveDict:
  - 87
  redis.client.CaseInsensitiveDict.__contains__:
  - 94
  redis.client.CaseInsensitiveDict.__delitem__:
  - 97
  redis.client.CaseInsensitiveDict.__getitem__:
  - 100
  redis.client.CaseInsensitiveDict.__init__:
  - 90
  - 91
  redis.client.CaseInsensitiveDict.__setitem__:
  - 106
  redis.client.CaseInsensitiveDict.get:
  - 103
  redis.client.CaseInsensitiveDict.update:
  - 109
  - 110
  redis.client.Monitor:
  - 757
  - 758
  - 751
  redis.client.Monitor.__enter__:
  - 765
  redis.client.Monitor.__exit__:
  - 769
  - 770
  redis.client.Monitor.__init__:
  - 762
  redis.client.Monitor._start_monitor:
  - 825
  - 827
  - 823
  redis.client.Monitor.listen:
  - 818
  - 820
  redis.client.Monitor.next_command:
  - 800
  - 773
  - 774
  - 806
  - 776
  - 809
  - 810
  - 779
  - 780
  - 782
  - 783
  - 784
  - 785
  - 789
  - 791
  - 795
  redis.client.Pipeline:
  - 1409
  redis.client.Pipeline.__bool__:
  - 1463
  redis.client.Pipeline.__del__:
  - 1455
  redis.client.Pipeline.__exit__:
  - 1451
  redis.client.Pipeline.__init__:
  - 1444
  redis.client.Pipeline.__len__:
  - 1460
  redis.client.Pipeline._disconnect_raise_on_watching:
  - 1712
  - 1716
  - 1703
  redis.client.Pipeline._disconnect_reset_raise_on_watching:
  - 1533
  - 1532
  - 1517
  - 1527
  redis.client.Pipeline._execute_pipeline:
  - 1648
  - 1649
  - 1652
  - 1654
  - 1656
  - 1658
  - 1659
  redis.client.Pipeline._execute_transaction:
  - 1577
  - 1578
  - 1581
  - 1589
  - 1591
  - 1594
  - 1595
  - 1596
  - 1599
  - 1601
  - 1602
  - 1606
  - 1608
  - 1615
  - 1619
  - 1620
  - 1622
  - 1623
  - 1629
  - 1630
  - 1634
  - 1635
  - 1638
  - 1640
  - 1641
  - 1642
  redis.client.Pipeline.annotate_exception:
  - 1672
  - 1670
  redis.client.Pipeline.close:
  - 1491
  - 1492
  redis.client.Pipeline.discard:
  - 1755
  - 1751
  redis.client.Pipeline.execute:
  - 1728
  - 1734
  - 1735
  - 1741
  - 1742
  - 1743
  - 1748
  - 1722
  - 1724
  - 1726
  - 1727
  redis.client.Pipeline.execute.<lambda1>:
  - 1742
  redis.client.Pipeline.execute.<lambda2>:
  - 1743
  redis.client.Pipeline.execute_command:
  - 1508
  - 1509
  - 1510
  redis.client.Pipeline.immediate_execute_command:
  - 1539
  - 1548
  - 1549
  - 1552
  - 1553
  - 1556
  redis.client.Pipeline.immediate_execute_command.<lambda1>:
  - 1553
  redis.client.Pipeline.immediate_execute_command.<lambda2>:
  - 1556
  redis.client.Pipeline.load_scripts:
  - 1696
  - 1687
  - 1692
  - 1693
  - 1694
  - 1695
  redis.client.Pipeline.multi:
  - 1499
  - 1501
  - 1495
  redis.client.Pipeline.parse_response:
  - 1681
  - 1678
  - 1679
  redis.client.Pipeline.pipeline_execute_command:
  - 1560
  - 1571
  redis.client.Pipeline.raise_first_error:
  - 1664
  - 1665
  - 1666
  redis.client.Pipeline.reset:
  - 1475
  - 1476
  - 1479
  - 1486
  - 1487
  - 1468
  - 1471
  redis.client.Pipeline.unwatch:
  - 1764
  - 1765
  redis.client.Pipeline.watch:
  - 1761
  - 1758
  - 1759
  redis.client.PubSub:
  - 832
  redis.client.PubSub.__del__:
  - 890
  redis.client.PubSub.__exit__:
  - 883
  redis.client.PubSub.__init__:
  - 867
  - 868
  - 869
  - 870
  - 871
  - 875
  - 876
  - 877
  - 857
  - 862
  - 863
  redis.client.PubSub._execute:
  - 997
  - 1005
  - 1006
  - 1008
  - 1009
  - 1010
  redis.client.PubSub._execute.<lambda1>:
  - 1009
  redis.client.PubSub._execute.<lambda2>:
  - 1010
  redis.client.PubSub._normalize_keys:
  - 1085
  - 1078
  redis.client.PubSub._reconnect:
  - 993
  - 994
  - 987
  redis.client.PubSub.check_health:
  - 1073
  - 1074
  - 1067
  redis.client.PubSub.clean_health_check_responses:
  - 976
  - 969
  - 977
  - 975
  redis.client.PubSub.close:
  - 910
  redis.client.PubSub.execute_command:
  - 963
  - 964
  - 966
  - 943
  - 949
  - 950
  - 953
  - 954
  - 955
  - 956
  - 957
  redis.client.PubSub.get_message:
  - 1221
  - 1223
  - 1224
  - 1228
  - 1229
  - 1235
  - 1237
  - 1238
  - 1214
  redis.client.PubSub.handle_message:
  - 1288
  - 1289
  - 1291
  - 1292
  - 1293
  - 1294
  - 1296
  - 1297
  - 1298
  - 1301
  - 1302
  - 1303
  - 1304
  - 1307
  - 1309
  - 1311
  - 1312
  - 1313
  - 1314
  - 1316
  - 1317
  - 1318
  - 1320
  - 1323
  - 1254
  - 1259
  - 1261
  - 1264
  - 1265
  - 1272
  redis.client.PubSub.is_health_check_response:
  - 1048
  - 1043
  redis.client.PubSub.listen:
  - 1208
  - 1209
  - 1205
  - 1207
  redis.client.PubSub.on_connect:
  - 929
  - 930
  - 932
  - 933
  - 935
  - 913
  - 917
  - 918
  - 919
  - 920
  - 922
  - 924
  - 925
  - 927
  redis.client.PubSub.parse_response:
  - 1024
  - 1034
  - 1036
  - 1016
  - 1018
  redis.client.PubSub.parse_response.try_read:
  - 1032
  - 1027
  - 1028
  - 1031
  redis.client.PubSub.ping:
  - 1251
  - 1244
  redis.client.PubSub.psubscribe:
  - 1088
  - 1095
  - 1096
  - 1097
  - 1098
  - 1099
  - 1103
  - 1104
  - 1105
  - 1107
  - 1110
  redis.client.PubSub.punsubscribe:
  - 1120
  - 1123
  - 1124
  - 1114
  - 1118
  - 1119
  redis.client.PubSub.reset:
  - 896
  - 897
  - 898
  - 902
  - 904
  - 906
  - 907
  - 895
  redis.client.PubSub.run_in_thread:
  - 1349
  - 1356
  - 1336
  - 1337
  - 1339
  - 1340
  - 1342
  - 1343
  redis.client.PubSub.ssubscribe:
  - 1185
  - 1188
  - 1166
  - 1173
  - 1174
  - 1175
  - 1176
  - 1177
  - 1181
  - 1182
  - 1183
  redis.client.PubSub.subscribe:
  - 1127
  - 1134
  - 1135
  - 1136
  - 1137
  - 1138
  - 1142
  - 1143
  - 1144
  - 1146
  - 1149
  redis.client.PubSub.subscribed:
  - 939
  - 940
  redis.client.PubSub.sunsubscribe:
  - 1192
  - 1196
  - 1197
  - 1198
  - 1201
  - 1202
  redis.client.PubSub.unsubscribe:
  - 1153
  - 1157
  - 1158
  - 1159
  - 1162
  - 1163
  redis.client.PubSubWorkerThread.__init__:
  - 1377
  - 1371
  redis.client.PubSubWorkerThread.run:
  - 1380
  - 1382
  - 1385
  - 1387
  - 1388
  - 1392
  - 1396
  - 1398
  - 1399
  redis.client.PubSubWorkerThread.stop:
  - 1405
  redis.client.Redis:
  - 204
  - 118
  - 199
  redis.client.Redis.__del__:
  - 652
  redis.client.Redis.__exit__:
  - 648
  redis.client.Redis.__init__:
  - 390
  - 391
  - 265
  - 400
  - 407
  - 408
  - 413
  - 414
  - 419
  - 420
  - 421
  - 428
  - 429
  - 436
  - 442
  - 317
  - 318
  - 445
  - 446
  - 321
  - 322
  - 447
  - 448
  - 453
  - 326
  - 455
  - 456
  - 458
  - 339
  - 349
  - 350
  - 358
  - 368
  - 369
  redis.client.Redis.__repr__:
  - 462
  - 463
  redis.client.Redis._close_connection:
  - 689
  - 679
  redis.client.Redis._execute_command:
  - 704
  - 705
  - 708
  - 712
  - 713
  - 714
  - 715
  - 716
  - 717
  - 718
  - 696
  - 699
  - 701
  - 702
  redis.client.Redis._execute_command.<lambda1>:
  - 705
  redis.client.Redis._execute_command.<lambda2>:
  - 708
  redis.client.Redis._send_command_parse_response:
  - 672
  - 675
  - 676
  redis.client.Redis.client:
  - 639
  redis.client.Redis.close:
  - 660
  - 664
  - 666
  - 668
  - 669
  redis.client.Redis.execute_command:
  - 693
  redis.client.Redis.from_pool:
  - 193
  - 188
  redis.client.Redis.from_url:
  - 176
  - 174
  - 134
  - 175
  redis.client.Redis.get_connection_kwargs:
  - 471
  redis.client.Redis.get_encoder:
  - 467
  - 468
  redis.client.Redis.get_retry:
  - 475
  redis.client.Redis.load_external_module:
  - 506
  - 486
  redis.client.Redis.lock:
  - 555
  - 612
  - 614
  redis.client.Redis.monitor:
  - 636
  redis.client.Redis.parse_response:
  - 737
  - 739
  - 740
  - 721
  - 723
  - 724
  - 725
  - 727
  - 729
  - 733
  - 734
  redis.client.Redis.pipeline:
  - 516
  - 509
  redis.client.Redis.pubsub:
  - 626
  - 631
  redis.client.Redis.set_response_callback:
  - 482
  redis.client.Redis.set_retry:
  - 478
  - 479
  redis.client.Redis.transaction:
  - 523
  - 528
  - 529
  - 530
  - 531
  - 534
  - 535
  - 536
  - 537
  - 540
  - 541
  redis.cluster:
  - 2886
  - 2887
  - 2889
  - 83
  - 94
  redis.cluster.AbstractRedisCluster:
  - 512
  - 513
  - 515
  - 406
  - 422
  - 423
  - 314
  - 315
  - 477
  - 478
  - 479
  - 480
  - 482
  - 485
  - 499
  - 501
  - 503
  - 505
  - 506
  - 508
  - 509
  - 510
  redis.cluster.AbstractRedisCluster.<lambda1>:
  - 480
  redis.cluster.AbstractRedisCluster.<lambda2>:
  - 499
  redis.cluster.AbstractRedisCluster.<lambda3>:
  - 503
  redis.cluster.AbstractRedisCluster.<lambda4>:
  - 506
  redis.cluster.AbstractRedisCluster.<lambda5>:
  - 510
  redis.cluster.AbstractRedisCluster.<lambda6>:
  - 513
  redis.cluster.AbstractRedisCluster.<lambda7>:
  - 515
  redis.cluster.AbstractRedisCluster.replace_default_node:
  - 545
  - 546
  - 547
  - 526
  - 535
  - 538
  - 539
  - 540
  - 542
  redis.cluster.AbstractStrategy.annotate_exception:
  - 3161
  - 3163
  - 3158
  redis.cluster.AbstractStrategy.eval:
  - 3144
  redis.cluster.AbstractStrategy.exists:
  - 3141
  redis.cluster.AbstractStrategy.load_scripts:
  - 3148
  redis.cluster.AbstractStrategy.pipeline_execute_command:
  - 3121
  - 3122
  redis.cluster.AbstractStrategy.script_load_for_pipeline:
  - 3152
  redis.cluster.ClusterNode.__eq__:
  - 1721
  redis.cluster.ClusterNode.__hash__:
  - 1724
  redis.cluster.ClusterNode.__init__:
  - 1707
  - 1702
  - 1703
  redis.cluster.ClusterPipeline:
  - 2592
  - 2575
  redis.cluster.ClusterPipeline.__bool__:
  - 2706
  redis.cluster.ClusterPipeline.__del__:
  - 2697
  redis.cluster.ClusterPipeline.__enter__:
  - 2688
  redis.cluster.ClusterPipeline.__exit__:
  - 2692
  - 2693
  redis.cluster.ClusterPipeline.__init__:
  - 2616
  - 2622
  - 2627
  - 2631
  - 2634
  - 2635
  - 2639
  - 2640
  - 2641
  - 2642
  - 2644
  - 2645
  - 2647
  - 2649
  - 2665
  - 2668
  - 2670
  - 2674
  - 2677
  - 2678
  redis.cluster.ClusterPipeline.__init__.<lambda1>:
  - 2666
  redis.cluster.ClusterPipeline.__init__.<lambda2>:
  - 2669
  redis.cluster.ClusterPipeline.__init__.<lambda3>:
  - 2670
  redis.cluster.ClusterPipeline.__init__.<lambda4>:
  - 2675
  redis.cluster.ClusterPipeline.__len__:
  - 2702
  - 2703
  redis.cluster.ClusterPipeline.__repr__:
  - 2684
  - 2685
  redis.cluster.ClusterPipeline.annotate_exception:
  - 2730
  - 2733
  redis.cluster.ClusterPipeline.delete:
  - 2792
  redis.cluster.ClusterPipeline.discard:
  - 2777
  - 2778
  redis.cluster.ClusterPipeline.eval:
  - 2762
  - 2763
  redis.cluster.ClusterPipeline.execute:
  - 2736
  - 2741
  - 2743
  redis.cluster.ClusterPipeline.execute_command:
  - 2713
  - 2710
  redis.cluster.ClusterPipeline.exists:
  - 2759
  redis.cluster.ClusterPipeline.load_scripts:
  - 2773
  - 2774
  redis.cluster.ClusterPipeline.multi:
  - 2770
  - 2766
  redis.cluster.ClusterPipeline.pipeline_execute_command:
  - 2716
  - 2727
  redis.cluster.ClusterPipeline.reset:
  - 2746
  - 2749
  redis.cluster.ClusterPipeline.script_load_for_pipeline:
  - 2789
  redis.cluster.ClusterPipeline.send_cluster_commands:
  - 2754
  redis.cluster.ClusterPipeline.unlink:
  - 2795
  redis.cluster.ClusterPipeline.unwatch:
  - 2785
  - 2786
  redis.cluster.ClusterPipeline.watch:
  - 2781
  - 2782
  redis.cluster.ClusterPubSub:
  - 2330
  redis.cluster.ClusterPubSub.__init__:
  - 2370
  - 2371
  - 2372
  - 2375
  - 2348
  - 2362
  - 2366
  redis.cluster.ClusterPubSub._get_node_pubsub:
  - 2478
  redis.cluster.ClusterPubSub._pubsubs_generator:
  - 2494
  - 2495
  redis.cluster.ClusterPubSub._raise_on_invalid_node:
  - 2427
  - 2423
  redis.cluster.ClusterPubSub._sharded_message_generator:
  - 2488
  - 2485
  - 2486
  - 2487
  redis.cluster.ClusterPubSub.disconnect:
  - 2565
  - 2568
  - 2569
  - 2570
  - 2571
  redis.cluster.ClusterPubSub.execute_command:
  - 2464
  - 2433
  - 2465
  - 2466
  - 2467
  - 2472
  - 2442
  - 2443
  - 2444
  - 2448
  - 2449
  - 2456
  - 2458
  - 2460
  - 2463
  redis.cluster.ClusterPubSub.get_pubsub_node:
  - 2417
  redis.cluster.ClusterPubSub.get_redis_connection:
  - 2561
  - 2558
  redis.cluster.ClusterPubSub.get_sharded_message:
  - 2500
  - 2501
  - 2505
  - 2506
  - 2508
  - 2509
  - 2510
  - 2511
  - 2512
  - 2513
  - 2514
  - 2515
  - 2518
  - 2519
  redis.cluster.ClusterPubSub.set_pubsub_node:
  - 2400
  - 2402
  - 2404
  - 2405
  - 2407
  - 2384
  - 2398
  redis.cluster.ClusterPubSub.ssubscribe:
  - 2528
  - 2529
  - 2530
  - 2531
  - 2532
  - 2534
  - 2535
  - 2536
  - 2537
  - 2539
  - 2540
  - 2524
  - 2525
  - 2526
  - 2527
  redis.cluster.ClusterPubSub.sunsubscribe:
  - 2544
  - 2545
  - 2549
  - 2550
  - 2551
  - 2552
  - 2553
  redis.cluster.ExecutionStrategy.annotate_exception:
  - 2993
  redis.cluster.ExecutionStrategy.delete:
  - 3078
  redis.cluster.ExecutionStrategy.execute:
  - 3011
  redis.cluster.ExecutionStrategy.execute_command:
  - 2984
  redis.cluster.ExecutionStrategy.multi:
  - 3048
  redis.cluster.ExecutionStrategy.pipeline_execute_command:
  - 3002
  redis.cluster.ExecutionStrategy.reset:
  - 3031
  redis.cluster.ExecutionStrategy.send_cluster_commands:
  - 3022
  redis.cluster.ExecutionStrategy.unlink:
  - 3087
  redis.cluster.ExecutionStrategy.unwatch:
  - 3065
  redis.cluster.LoadBalancer:
  - 1734
  redis.cluster.LoadBalancer.__init__:
  - 1741
  redis.cluster.LoadBalancer._get_random_replica_index:
  - 1763
  redis.cluster.LoadBalancer._get_round_robin_index:
  - 1769
  - 1770
  redis.cluster.LoadBalancer.get_server_index:
  - 1752
  - 1749
  - 1750
  redis.cluster.LoadBalancer.reset:
  - 1760
  redis.cluster.MaintNotificationsAbstractRedisCluster:
  - 241
  redis.cluster.MaintNotificationsAbstractRedisCluster.__init__:
  - 256
  - 258
  - 266
  - 267
  - 271
  - 273
  - 276
  - 280
  - 281
  - 283
  redis.cluster.MaintNotificationsAbstractRedisCluster._update_connection_kwargs_for_maint_notifications:
  - 296
  - 293
  redis.cluster.NodeCommands:
  - 2908
  redis.cluster.NodeCommands.__init__:
  - 2911
  redis.cluster.NodeCommands.append:
  - 2918
  - 2919
  redis.cluster.NodeCommands.read:
  - 2944
  - 2946
  - 2965
  - 2967
  - 2969
  - 2973
  redis.cluster.NodeCommands.write:
  - 2922
  - 2930
  - 2936
  - 2937
  - 2940
  redis.cluster.NodesManager:
  - 1962
  - 1900
  redis.cluster.NodesManager.__init__:
  - 1824
  - 1826
  - 1827
  - 1830
  - 1835
  - 1806
  - 1808
  - 1809
  - 1810
  - 1811
  - 1813
  - 1816
  - 1817
  redis.cluster.NodesManager._get_epoch:
  - 2078
  redis.cluster.NodesManager._get_or_create_cluster_node:
  - 2057
  - 2059
  - 2060
  - 2066
  - 2067
  - 2071
  redis.cluster.NodesManager.check_slots_coverage:
  - 1994
  - 1995
  redis.cluster.NodesManager.close:
  - 2296
  - 2297
  - 2294
  - 2295
  redis.cluster.NodesManager.create_redis_connections:
  - 2000
  - 2004
  - 2005
  - 2006
  - 2012
  - 2014
  - 2015
  redis.cluster.NodesManager.create_redis_node:
  - 2035
  - 2036
  - 2039
  - 2041
  - 2042
  - 2043
  - 2044
  - 2045
  - 2047
  redis.cluster.NodesManager.find_connection_owner:
  - 2317
  - 2319
  - 2320
  - 2322
  - 2323
  redis.cluster.NodesManager.get_node:
  - 1856
  - 1843
  - 1848
  - 1850
  - 1851
  - 1853
  - 1854
  redis.cluster.NodesManager.get_node_from_slot:
  - 1923
  - 1929
  - 1932
  - 1933
  - 1935
  - 1938
  - 1945
  - 1915
  - 1919
  redis.cluster.NodesManager.get_nodes_by_server_type:
  - 1958
  - 1950
  redis.cluster.NodesManager.initialize:
  - 2177
  - 2178
  - 2183
  - 2185
  - 2204
  - 2205
  - 2206
  - 2207
  - 2211
  - 2213
  - 2214
  - 2216
  - 2217
  - 2090
  - 2221
  - 2224
  - 2227
  - 2228
  - 2229
  - 2230
  - 2231
  - 2234
  - 2236
  - 2109
  - 2237
  - 2243
  - 2244
  - 2117
  - 2118
  - 2248
  - 2123
  - 2254
  - 2255
  - 2129
  - 2132
  - 2260
  - 2134
  - 2135
  - 2267
  - 2140
  - 2142
  - 2270
  - 2147
  - 2148
  - 2149
  - 2284
  - 2157
  - 2285
  - 2165
  - 2171
  redis.cluster.NodesManager.move_node_to_end_of_cached_nodes:
  - 1987
  - 1988
  - 1975
  - 1981
  - 1982
  redis.cluster.NodesManager.move_slot:
  - 1889
  - 1892
  - 1861
  - 1895
  - 1865
  - 1866
  - 1868
  - 1873
  - 1877
  - 1882
  redis.cluster.NodesManager.populate_startup_nodes:
  - 1971
  - 1967
  redis.cluster.NodesManager.remap_host_port:
  - 2312
  - 2313
  - 2307
  redis.cluster.NodesManager.reset:
  - 2301
  redis.cluster.PipelineCommand:
  - 2893
  redis.cluster.PipelineCommand.__init__:
  - 2897
  redis.cluster.PipelineStrategy.__init__:
  - 3171
  redis.cluster.PipelineStrategy._determine_nodes:
  - 3488
  - 3489
  - 3490
  - 3491
  - 3493
  - 3495
  - 3496
  - 3501
  - 3503
  - 3508
  - 3509
  - 3510
  - 3511
  - 3512
  - 3513
  - 3515
  - 3517
  redis.cluster.PipelineStrategy._is_nodes_flag:
  - 3461
  redis.cluster.PipelineStrategy._parse_target_nodes:
  - 3464
  - 3473
  - 3466
  - 3469
  redis.cluster.PipelineStrategy._raise_first_error:
  - 3184
  - 3178
  - 3181
  - 3183
  redis.cluster.PipelineStrategy._send_cluster_commands:
  - 3328
  - 3456
  - 3335
  - 3336
  - 3338
  - 3340
  - 3341
  - 3344
  - 3345
  - 3346
  - 3348
  - 3353
  - 3365
  - 3366
  - 3367
  - 3369
  - 3370
  - 3243
  - 3254
  - 3262
  - 3263
  - 3390
  - 3391
  - 3270
  - 3271
  - 3272
  - 3399
  - 3274
  - 3275
  - 3403
  - 3277
  - 3278
  - 3279
  - 3280
  - 3281
  - 3405
  - 3407
  - 3284
  - 3288
  - 3289
  - 3291
  - 3294
  - 3295
  - 3296
  - 3298
  - 3427
  - 3428
  - 3429
  - 3430
  - 3303
  - 3304
  - 3431
  - 3435
  - 3310
  - 3312
  - 3442
  - 3443
  - 3317
  - 3445
  - 3446
  - 3449
  - 3322
  - 3453
  - 3455
  redis.cluster.PipelineStrategy.delete:
  - 3548
  - 3543
  redis.cluster.PipelineStrategy.execute:
  - 3193
  - 3195
  - 3189
  redis.cluster.PipelineStrategy.execute_command:
  - 3175
  redis.cluster.PipelineStrategy.reset:
  - 3198
  redis.cluster.PipelineStrategy.send_cluster_commands:
  - 3232
  - 3206
  - 3221
  - 3223
  - 3226
  redis.cluster.PipelineStrategy.unlink:
  - 3556
  - 3551
  redis.cluster.RedisCluster:
  - 602
  - 597
  redis.cluster.RedisCluster.__del__:
  - 875
  redis.cluster.RedisCluster.__exit__:
  - 871
  redis.cluster.RedisCluster.__init__:
  - 770
  - 771
  - 772
  - 773
  - 776
  - 777
  - 781
  - 782
  - 783
  - 784
  - 786
  - 787
  - 790
  - 794
  - 795
  - 797
  - 798
  - 803
  - 804
  - 809
  - 822
  - 825
  - 715
  - 718
  - 724
  - 857
  - 861
  - 735
  - 863
  - 737
  - 738
  - 743
  - 748
  - 749
  - 750
  - 751
  - 752
  - 753
  - 754
  - 630
  redis.cluster.RedisCluster._determine_nodes:
  - 1217
  - 1188
  - 1191
  - 1192
  - 1193
  - 1195
  - 1196
  - 1201
  - 1203
  - 1208
  - 1209
  - 1210
  - 1211
  - 1212
  - 1213
  - 1215
  redis.cluster.RedisCluster._evaluate_all_succeeded:
  - 1026
  - 1027
  - 1028
  - 1030
  - 1032
  - 1013
  - 1018
  - 1019
  - 1020
  - 1021
  redis.cluster.RedisCluster._execute_command:
  - 1536
  - 1538
  - 1541
  - 1543
  - 1546
  - 1549
  - 1552
  - 1553
  - 1554
  - 1555
  - 1568
  - 1571
  - 1577
  - 1580
  - 1581
  - 1582
  - 1583
  - 1587
  - 1588
  - 1590
  - 1591
  - 1592
  - 1593
  - 1597
  - 1471
  - 1480
  - 1609
  - 1610
  - 1485
  - 1486
  - 1487
  - 1615
  - 1616
  - 1490
  - 1491
  - 1619
  - 1620
  - 1500
  - 1501
  - 1502
  - 1503
  - 1504
  - 1506
  - 1507
  - 1510
  - 1512
  - 1513
  - 1529
  - 1530
  redis.cluster.RedisCluster._extracts_socket_address:
  - 1627
  - 1631
  redis.cluster.RedisCluster._get_command_keys:
  - 1241
  - 1252
  - 1253
  redis.cluster.RedisCluster._internal_execute_command:
  - 1409
  - 1410
  - 1411
  - 1421
  - 1424
  - 1427
  - 1429
  - 1435
  - 1439
  - 1440
  - 1441
  - 1444
  - 1445
  - 1447
  - 1451
  - 1458
  - 1459
  - 1461
  - 1357
  - 1375
  - 1376
  - 1378
  - 1379
  - 1382
  - 1383
  - 1384
  - 1385
  - 1389
  - 1390
  - 1392
  - 1395
  - 1396
  - 1397
  - 1399
  - 1404
  - 1405
  redis.cluster.RedisCluster._is_nodes_flag:
  - 1331
  redis.cluster.RedisCluster._parse_target_nodes:
  - 1336
  - 1339
  - 1334
  - 1343
  redis.cluster.RedisCluster._process_result:
  - 1665
  - 1648
  - 1658
  - 1659
  - 1660
  - 1663
  redis.cluster.RedisCluster._should_reinitialized:
  - 1227
  redis.cluster.RedisCluster._split_multi_shard_command:
  - 985
  - 986
  - 979
  - 982
  redis.cluster.RedisCluster.close:
  - 1641
  - 1642
  redis.cluster.RedisCluster.determine_slot:
  - 1280
  - 1282
  - 1284
  - 1316
  - 1305
  - 1256
  - 1288
  - 1289
  - 1292
  - 1293
  - 1264
  - 1296
  - 1297
  - 1273
  - 1306
  - 1310
  - 1311
  redis.cluster.RedisCluster.disconnect_connection_pools:
  - 880
  - 881
  - 883
  redis.cluster.RedisCluster.execute_command:
  - 1354
  redis.cluster.RedisCluster.from_url:
  - 595
  - 555
  redis.cluster.RedisCluster.get_connection_kwargs:
  - 1325
  redis.cluster.RedisCluster.get_default_node:
  - 960
  redis.cluster.RedisCluster.get_encoder:
  - 1319
  redis.cluster.RedisCluster.get_node:
  - 916
  redis.cluster.RedisCluster.get_node_from_key:
  - 940
  - 945
  - 946
  - 947
  - 949
  - 951
  redis.cluster.RedisCluster.get_nodes:
  - 937
  redis.cluster.RedisCluster.get_nodes_from_slot:
  - 970
  - 971
  - 966
  redis.cluster.RedisCluster.get_primaries:
  - 919
  redis.cluster.RedisCluster.get_random_node:
  - 925
  redis.cluster.RedisCluster.get_random_primary_node:
  - 1010
  - 1007
  redis.cluster.RedisCluster.get_random_primary_or_all_nodes:
  - 928
  - 931
  - 932
  - 934
  redis.cluster.RedisCluster.get_redis_connection:
  - 912
  - 909
  - 911
  redis.cluster.RedisCluster.get_replicas:
  - 922
  redis.cluster.RedisCluster.get_special_nodes:
  - 996
  - 999
  redis.cluster.RedisCluster.keyslot:
  - 1233
  - 1237
  - 1238
  redis.cluster.RedisCluster.load_external_module:
  - 1675
  - 1668
  redis.cluster.RedisCluster.lock:
  - 1168
  - 1170
  - 1111
  redis.cluster.RedisCluster.monitor:
  - 1059
  - 1060
  - 1061
  - 1065
  - 1051
  redis.cluster.RedisCluster.on_connect:
  - 901
  - 902
  - 905
  - 906
  - 889
  - 893
  - 895
  redis.cluster.RedisCluster.pipeline:
  - 1083
  - 1075
  - 1086
  redis.cluster.RedisCluster.pubsub:
  - 1072
  - 1068
  redis.cluster.RedisCluster.set_default_node:
  - 1042
  - 1037
  redis.cluster.RedisCluster.set_response_callback:
  - 1182
  redis.cluster.RedisCluster.transaction:
  - 1696
  - 1678
  - 1683
  - 1684
  - 1685
  - 1686
  - 1689
  - 1690
  - 1691
  - 1692
  - 1695
  redis.cluster.TransactionStrategy.__init__:
  - 3578
  - 3579
  - 3572
  - 3575
  redis.cluster.TransactionStrategy._execute_transaction:
  - 3737
  - 3744
  - 3746
  - 3747
  - 3749
  - 3752
  - 3753
  - 3761
  - 3763
  - 3764
  - 3766
  - 3770
  - 3771
  - 3772
  - 3775
  - 3777
  - 3778
  - 3780
  - 3783
  - 3784
  - 3789
  - 3791
  - 3800
  - 3804
  - 3805
  - 3807
  - 3816
  - 3817
  - 3824
  - 3825
  - 3827
  - 3828
  - 3831
  redis.cluster.TransactionStrategy._execute_transaction_with_retries:
  - 3729
  - 3730
  redis.cluster.TransactionStrategy._execute_transaction_with_retries.<lambda1>:
  - 3730
  redis.cluster.TransactionStrategy._get_client_and_connection_for_transaction:
  - 3584
  - 3592
  - 3597
  - 3598
  - 3600
  - 3601
  - 3602
  - 3605
  - 3608
  - 3611
  - 3612
  redis.cluster.TransactionStrategy._get_connection_and_send_command:
  - 3660
  - 3661
  redis.cluster.TransactionStrategy._immediate_execute_command:
  - 3654
  - 3655
  redis.cluster.TransactionStrategy._immediate_execute_command.<lambda1>:
  - 3655
  redis.cluster.TransactionStrategy._raise_first_error:
  - 3714
  - 3715
  - 3716
  - 3711
  redis.cluster.TransactionStrategy._reinitialize_on_error:
  - 3680
  - 3681
  - 3684
  - 3685
  - 3686
  - 3688
  - 3690
  - 3691
  - 3694
  - 3695
  - 3701
  - 3702
  - 3705
  - 3706
  redis.cluster.TransactionStrategy._send_command_parse_response:
  - 3672
  - 3673
  - 3675
  - 3668
  redis.cluster.TransactionStrategy._validate_watch:
  - 3648
  redis.cluster.TransactionStrategy.delete:
  - 3907
  redis.cluster.TransactionStrategy.discard:
  - 3904
  redis.cluster.TransactionStrategy.execute:
  - 3721
  - 3724
  redis.cluster.TransactionStrategy.execute_command:
  - 3618
  - 3619
  - 3621
  - 3624
  - 3625
  - 3627
  - 3628
  - 3633
  - 3634
  - 3640
  - 3642
  - 3643
  - 3645
  redis.cluster.TransactionStrategy.multi:
  - 3883
  - 3885
  redis.cluster.TransactionStrategy.reset:
  - 3872
  - 3841
  - 3844
  - 3845
  - 3848
  - 3851
  - 3852
  - 3858
  - 3859
  - 3860
  - 3863
  - 3864
  - 3839
  redis.cluster.TransactionStrategy.unlink:
  - 3910
  redis.cluster.TransactionStrategy.unwatch:
  - 3898
  - 3899
  redis.cluster.TransactionStrategy.watch:
  - 3892
  - 3895
  redis.cluster.block_pipeline_command:
  - 2799
  redis.cluster.cleanup_kwargs:
  - 233
  - 228
  redis.cluster.get_connection:
  - 100
  redis.cluster.is_debug_log_enabled:
  - 87
  redis.cluster.parse_cluster_myshardid:
  - 170
  - 173
  redis.cluster.parse_cluster_shards:
  - 161
  - 163
  - 164
  - 148
  - 151
  - 154
  - 156
  - 157
  - 159
  redis.cluster.parse_cluster_slots:
  - 136
  - 130
  - 140
  - 141
  redis.cluster.parse_cluster_slots.fix_server:
  - 133
  redis.cluster.parse_pubsub_numsub:
  - 123
  - 115
  - 116
  - 117
  redis.cluster.parse_scan_result:
  - 106
  - 107
  redis.commands.bf.AbstractBloom:
  - 9
  redis.commands.bf.AbstractBloom.append_bucket_size:
  - 85
  - 86
  - 87
  redis.commands.bf.AbstractBloom.append_capacity:
  - 34
  - 35
  - 36
  redis.commands.bf.AbstractBloom.append_error:
  - 28
  - 29
  - 30
  redis.commands.bf.AbstractBloom.append_expansion:
  - 40
  - 41
  - 42
  redis.commands.bf.AbstractBloom.append_items:
  - 22
  - 23
  redis.commands.bf.AbstractBloom.append_items_and_increments:
  - 65
  - 66
  - 67
  - 68
  redis.commands.bf.AbstractBloom.append_max_iterations:
  - 80
  - 81
  - 79
  redis.commands.bf.AbstractBloom.append_no_create:
  - 59
  - 60
  - 61
  redis.commands.bf.AbstractBloom.append_no_scale:
  - 48
  - 46
  - 47
  redis.commands.bf.AbstractBloom.append_values_and_weights:
  - 72
  - 73
  - 74
  - 75
  redis.commands.bf.AbstractBloom.append_weights:
  - 52
  - 53
  - 54
  redis.commands.bf.BFBloom.__init__:
  - 224
  - 247
  - 248
  - 250
  - 252
  - 253
  redis.commands.bf.CFBloom.__init__:
  - 177
  - 178
  - 180
  - 182
  - 183
  - 153
  redis.commands.bf.CMSBloom.__init__:
  - 111
  - 112
  - 114
  - 116
  - 117
  - 92
  redis.commands.bf.TDigestBloom.__init__:
  - 213
  - 214
  - 216
  - 218
  - 219
  - 188
  redis.commands.bf.TOPKBloom.__init__:
  - 142
  - 143
  - 145
  - 147
  - 148
  - 122
  redis.commands.bf.commands.BFCommands:
  - 60
  redis.commands.bf.commands.BFCommands.add:
  - 81
  - 77
  redis.commands.bf.commands.BFCommands.card:
  - 170
  - 165
  redis.commands.bf.commands.BFCommands.create:
  - 72
  - 71
  - 70
  - 63
  redis.commands.bf.commands.BFCommands.exists:
  - 123
  - 119
  redis.commands.bf.commands.BFCommands.info:
  - 162
  - 158
  redis.commands.bf.commands.BFCommands.insert:
  - 100
  - 109
  - 110
  - 111
  - 112
  - 113
  - 114
  - 116
  redis.commands.bf.commands.BFCommands.loadchunk:
  - 147
  - 155
  redis.commands.bf.commands.BFCommands.madd:
  - 88
  - 84
  redis.commands.bf.commands.BFCommands.mexists:
  - 130
  - 126
  redis.commands.bf.commands.BFCommands.scandump:
  - 144
  - 133
  redis.commands.bf.commands.CFCommands:
  - 174
  redis.commands.bf.commands.CFCommands.add:
  - 192
  - 196
  redis.commands.bf.commands.CFCommands.addnx:
  - 204
  - 199
  redis.commands.bf.commands.CFCommands.count:
  - 258
  - 254
  redis.commands.bf.commands.CFCommands.create:
  - 179
  - 184
  - 185
  - 186
  - 187
  redis.commands.bf.commands.CFCommands.delete:
  - 251
  - 247
  redis.commands.bf.commands.CFCommands.exists:
  - 233
  - 237
  redis.commands.bf.commands.CFCommands.info:
  - 289
  - 284
  redis.commands.bf.commands.CFCommands.insert:
  - 207
  - 214
  - 215
  - 216
  - 217
  redis.commands.bf.commands.CFCommands.insertnx:
  - 227
  - 228
  - 229
  - 230
  - 220
  redis.commands.bf.commands.CFCommands.loadchunk:
  - 281
  - 274
  redis.commands.bf.commands.CFCommands.mexists:
  - 240
  - 244
  redis.commands.bf.commands.CFCommands.scandump:
  - 261
  - 271
  redis.commands.bf.commands.CMSCommands:
  - 483
  redis.commands.bf.commands.CMSCommands.incrby:
  - 500
  - 510
  - 511
  redis.commands.bf.commands.CMSCommands.info:
  - 538
  - 534
  redis.commands.bf.commands.CMSCommands.initbydim:
  - 490
  - 486
  redis.commands.bf.commands.CMSCommands.initbyprob:
  - 497
  - 493
  redis.commands.bf.commands.CMSCommands.merge:
  - 521
  - 530
  - 531
  redis.commands.bf.commands.CMSCommands.query:
  - 514
  - 518
  redis.commands.bf.commands.TDigestCommands.add:
  - 380
  - 375
  redis.commands.bf.commands.TDigestCommands.byrank:
  - 466
  - 471
  redis.commands.bf.commands.TDigestCommands.byrevrank:
  - 474
  - 479
  redis.commands.bf.commands.TDigestCommands.cdf:
  - 427
  - 423
  redis.commands.bf.commands.TDigestCommands.create:
  - 361
  - 365
  redis.commands.bf.commands.TDigestCommands.info:
  - 435
  - 430
  redis.commands.bf.commands.TDigestCommands.max:
  - 411
  - 407
  redis.commands.bf.commands.TDigestCommands.merge:
  - 393
  - 394
  - 395
  - 396
  - 397
  - 383
  redis.commands.bf.commands.TDigestCommands.min:
  - 400
  - 404
  redis.commands.bf.commands.TDigestCommands.quantile:
  - 420
  - 414
  redis.commands.bf.commands.TDigestCommands.rank:
  - 448
  - 454
  redis.commands.bf.commands.TDigestCommands.reset:
  - 368
  - 372
  redis.commands.bf.commands.TDigestCommands.revrank:
  - 457
  - 463
  redis.commands.bf.commands.TDigestCommands.trimmed_mean:
  - 443
  - 438
  redis.commands.bf.commands.TOPKCommands:
  - 331
  - 293
  redis.commands.bf.commands.TOPKCommands.add:
  - 304
  - 308
  redis.commands.bf.commands.TOPKCommands.count:
  - 337
  - 333
  redis.commands.bf.commands.TOPKCommands.incrby:
  - 321
  - 322
  - 311
  redis.commands.bf.commands.TOPKCommands.info:
  - 352
  - 356
  redis.commands.bf.commands.TOPKCommands.list:
  - 347
  - 340
  - 349
  - 348
  redis.commands.bf.commands.TOPKCommands.query:
  - 329
  - 325
  redis.commands.bf.commands.TOPKCommands.reserve:
  - 296
  - 301
  redis.commands.bf.info.BFInfo.__getitem__:
  - 26
  redis.commands.bf.info.BFInfo.__init__:
  - 12
  redis.commands.bf.info.BFInfo.get:
  - 21
  redis.commands.bf.info.CFInfo.__getitem__:
  - 57
  redis.commands.bf.info.CFInfo.__init__:
  - 40
  redis.commands.bf.info.CFInfo.get:
  - 52
  redis.commands.bf.info.CMSInfo.__getitem__:
  - 72
  redis.commands.bf.info.CMSInfo.__init__:
  - 66
  redis.commands.bf.info.TDigestInfo.__getitem__:
  - 120
  redis.commands.bf.info.TDigestInfo.__init__:
  - 103
  redis.commands.bf.info.TDigestInfo.get:
  - 115
  redis.commands.bf.info.TopKInfo.__getitem__:
  - 89
  redis.commands.bf.info.TopKInfo.__init__:
  - 82
  redis.commands.cluster:
  - 56
  - 51
  redis.commands.cluster.AsyncClusterDataAccessCommands:
  - 1122
  redis.commands.cluster.AsyncClusterDataAccessCommands.scan_iter:
  - 1158
  - 1159
  - 1163
  - 1137
  - 1138
  - 1139
  - 1141
  - 1142
  - 1144
  - 1147
  - 1149
  - 1150
  redis.commands.cluster.AsyncClusterManagementCommands:
  - 907
  - 884
  - 942
  redis.commands.cluster.AsyncClusterManagementCommands.client_tracking_off:
  - 956
  - 966
  redis.commands.cluster.AsyncClusterManagementCommands.client_tracking_on:
  - 921
  - 931
  redis.commands.cluster.AsyncClusterManagementCommands.cluster_delslots:
  - 900
  - 892
  - 902
  redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_get:
  - 1018
  redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_reset:
  - 1006
  redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_start:
  - 986
  redis.commands.cluster.AsyncClusterManagementCommands.hotkeys_stop:
  - 996
  redis.commands.cluster.AsyncClusterMultiKeyCommands:
  - 332
  redis.commands.cluster.AsyncClusterMultiKeyCommands._execute_pipeline_by_slot:
  - 393
  - 394
  - 396
  - 397
  - 398
  - 402
  - 405
  - 407
  redis.commands.cluster.AsyncClusterMultiKeyCommands._split_command_across_slots:
  - 385
  - 379
  - 388
  redis.commands.cluster.AsyncClusterMultiKeyCommands.mget_nonatomic:
  - 354
  - 357
  - 337
  - 348
  - 351
  redis.commands.cluster.AsyncClusterMultiKeyCommands.mset_nonatomic:
  - 360
  - 376
  - 373
  redis.commands.cluster.AsyncRedisClusterCommands:
  - 1208
  redis.commands.cluster.ClusterDataAccessCommands:
  - 1029
  redis.commands.cluster.ClusterDataAccessCommands.scan_iter:
  - 1091
  - 1092
  - 1094
  - 1095
  - 1097
  - 1100
  - 1102
  - 1103
  - 1111
  - 1115
  redis.commands.cluster.ClusterDataAccessCommands.stralgo:
  - 1067
  - 1068
  - 1070
  - 1071
  - 1048
  redis.commands.cluster.ClusterManagementCommands:
  - 762
  - 411
  - 797
  redis.commands.cluster.ClusterManagementCommands.client_tracking_off:
  - 811
  - 821
  redis.commands.cluster.ClusterManagementCommands.client_tracking_on:
  - 776
  - 786
  redis.commands.cluster.ClusterManagementCommands.cluster_addslots:
  - 456
  - 464
  redis.commands.cluster.ClusterManagementCommands.cluster_addslotsrange:
  - 482
  - 471
  redis.commands.cluster.ClusterManagementCommands.cluster_count_failure_report:
  - 496
  - 502
  redis.commands.cluster.ClusterManagementCommands.cluster_countkeysinslot:
  - 493
  - 487
  redis.commands.cluster.ClusterManagementCommands.cluster_delslots:
  - 505
  - 513
  redis.commands.cluster.ClusterManagementCommands.cluster_delslotsrange:
  - 516
  - 524
  redis.commands.cluster.ClusterManagementCommands.cluster_failover:
  - 544
  - 548
  - 529
  - 538
  - 539
  redis.commands.cluster.ClusterManagementCommands.cluster_get_keys_in_slot:
  - 634
  - 629
  redis.commands.cluster.ClusterManagementCommands.cluster_info:
  - 558
  - 551
  redis.commands.cluster.ClusterManagementCommands.cluster_keyslot:
  - 561
  - 567
  redis.commands.cluster.ClusterManagementCommands.cluster_links:
  - 715
  - 724
  redis.commands.cluster.ClusterManagementCommands.cluster_meet:
  - 578
  - 572
  redis.commands.cluster.ClusterManagementCommands.cluster_myid:
  - 443
  - 451
  redis.commands.cluster.ClusterManagementCommands.cluster_myshardid:
  - 712
  - 707
  redis.commands.cluster.ClusterManagementCommands.cluster_nodes:
  - 589
  - 583
  redis.commands.cluster.ClusterManagementCommands.cluster_replicas:
  - 680
  - 686
  redis.commands.cluster.ClusterManagementCommands.cluster_replicate:
  - 594
  - 599
  redis.commands.cluster.ClusterManagementCommands.cluster_reset:
  - 614
  - 606
  redis.commands.cluster.ClusterManagementCommands.cluster_save_config:
  - 626
  - 621
  redis.commands.cluster.ClusterManagementCommands.cluster_set_config_epoch:
  - 644
  - 639
  redis.commands.cluster.ClusterManagementCommands.cluster_setslot:
  - 660
  - 651
  - 659
  - 663
  redis.commands.cluster.ClusterManagementCommands.cluster_setslot_stable:
  - 675
  - 669
  redis.commands.cluster.ClusterManagementCommands.cluster_shards:
  - 704
  - 699
  redis.commands.cluster.ClusterManagementCommands.cluster_slots:
  - 696
  - 691
  redis.commands.cluster.ClusterManagementCommands.hotkeys_get:
  - 871
  redis.commands.cluster.ClusterManagementCommands.hotkeys_reset:
  - 861
  redis.commands.cluster.ClusterManagementCommands.hotkeys_start:
  - 841
  redis.commands.cluster.ClusterManagementCommands.hotkeys_stop:
  - 851
  redis.commands.cluster.ClusterManagementCommands.readonly:
  - 744
  - 737
  - 748
  redis.commands.cluster.ClusterManagementCommands.readwrite:
  - 760
  - 751
  redis.commands.cluster.ClusterManagementCommands.replicaof:
  - 427
  redis.commands.cluster.ClusterManagementCommands.slaveof:
  - 419
  redis.commands.cluster.ClusterManagementCommands.swapdb:
  - 435
  redis.commands.cluster.ClusterMultiKeyCommands:
  - 168
  redis.commands.cluster.ClusterMultiKeyCommands._execute_pipeline_by_slot:
  - 198
  - 199
  - 200
  - 204
  - 207
  - 209
  redis.commands.cluster.ClusterMultiKeyCommands._partition_keys_by_slot:
  - 176
  - 177
  - 178
  - 173
  redis.commands.cluster.ClusterMultiKeyCommands._partition_pairs_by_slot:
  - 185
  - 188
  - 189
  - 190
  redis.commands.cluster.ClusterMultiKeyCommands._reorder_keys_by_command:
  - 219
  - 220
  redis.commands.cluster.ClusterMultiKeyCommands._split_command_across_slots:
  - 273
  - 267
  - 276
  redis.commands.cluster.ClusterMultiKeyCommands.delete:
  - 289
  - 299
  redis.commands.cluster.ClusterMultiKeyCommands.exists:
  - 286
  - 279
  redis.commands.cluster.ClusterMultiKeyCommands.mget_nonatomic:
  - 225
  - 236
  - 239
  - 242
  - 245
  redis.commands.cluster.ClusterMultiKeyCommands.mset_nonatomic:
  - 248
  - 264
  - 261
  redis.commands.cluster.ClusterMultiKeyCommands.touch:
  - 314
  - 302
  redis.commands.cluster.ClusterMultiKeyCommands.unlink:
  - 328
  - 317
  redis.commands.cluster.RedisClusterCommands:
  - 1178
  redis.commands.core:
  - 66
  redis.commands.core.ACLCommands:
  - 72
  redis.commands.core.ACLCommands.acl_cat:
  - 88
  - 78
  redis.commands.core.ACLCommands.acl_deluser:
  - 104
  - 99
  redis.commands.core.ACLCommands.acl_dryrun:
  - 96
  - 91
  redis.commands.core.ACLCommands.acl_genpass:
  - 107
  - 113
  - 115
  - 116
  - 118
  - 123
  redis.commands.core.ACLCommands.acl_getuser:
  - 133
  - 126
  redis.commands.core.ACLCommands.acl_help:
  - 136
  - 141
  redis.commands.core.ACLCommands.acl_list:
  - 144
  - 149
  redis.commands.core.ACLCommands.acl_load:
  - 186
  - 178
  redis.commands.core.ACLCommands.acl_log:
  - 160
  - 161
  - 163
  - 165
  - 152
  redis.commands.core.ACLCommands.acl_log_reset:
  - 168
  - 175
  redis.commands.core.ACLCommands.acl_save:
  - 197
  - 189
  redis.commands.core.ACLCommands.acl_setuser:
  - 386
  - 388
  - 274
  - 277
  - 278
  - 280
  - 281
  - 283
  - 284
  - 286
  - 287
  - 289
  - 290
  - 292
  - 294
  - 299
  - 302
  - 303
  - 304
  - 305
  - 306
  - 307
  - 308
  - 315
  - 318
  - 319
  - 320
  - 321
  - 322
  - 323
  - 324
  - 331
  - 332
  - 334
  - 335
  - 336
  - 338
  - 339
  - 340
  - 341
  - 342
  - 343
  - 344
  - 217
  - 345
  - 351
  - 352
  - 353
  - 354
  - 359
  - 361
  - 362
  - 363
  - 364
  - 366
  - 368
  - 369
  - 370
  - 371
  - 373
  - 374
  - 375
  - 376
  - 382
  - 383
  redis.commands.core.ACLCommands.acl_users:
  - 395
  - 391
  redis.commands.core.ACLCommands.acl_whoami:
  - 402
  - 398
  redis.commands.core.AsyncBasicKeyCommands.unwatch:
  - 2883
  redis.commands.core.AsyncBasicKeyCommands.watch:
  - 2880
  redis.commands.core.AsyncCoreCommands:
  - 7218
  redis.commands.core.AsyncDataAccessCommands:
  - 7186
  redis.commands.core.AsyncManagementCommands.command_info:
  - 1505
  redis.commands.core.AsyncManagementCommands.debug_segfault:
  - 1508
  redis.commands.core.AsyncManagementCommands.memory_doctor:
  - 1511
  redis.commands.core.AsyncManagementCommands.memory_help:
  - 1514
  redis.commands.core.AsyncManagementCommands.shutdown:
  - 1536
  - 1537
  - 1538
  - 1539
  - 1540
  - 1541
  - 1542
  - 1543
  - 1544
  - 1545
  - 1547
  - 1525
  - 1533
  redis.commands.core.AsyncModuleCommands.command_info:
  - 7000
  redis.commands.core.AsyncScanCommands.hscan_iter:
  - 3588
  - 3600
  - 3603
  - 3604
  - 3605
  - 3607
  - 3608
  redis.commands.core.AsyncScanCommands.scan_iter:
  - 3537
  - 3556
  - 3553
  - 3557
  redis.commands.core.AsyncScanCommands.sscan_iter:
  - 3578
  - 3579
  - 3565
  - 3575
  redis.commands.core.AsyncScanCommands.zscan_iter:
  - 3617
  - 3637
  - 3636
  - 3629
  redis.commands.core.AsyncScript:
  - 6209
  redis.commands.core.AsyncScript.__call__:
  - 6242
  - 6244
  - 6248
  - 6250
  - 6252
  - 6257
  - 6258
  - 6239
  redis.commands.core.AsyncScript.__init__:
  - 6222
  - 6226
  - 6229
  - 6230
  - 6231
  redis.commands.core.AsyncScriptCommands.register_script:
  - 6488
  - 6494
  redis.commands.core.AsyncScriptCommands.script_debug:
  - 6482
  redis.commands.core.BasicKeyCommands:
  - 1993
  - 1836
  - 1677
  - 2031
  - 2547
  redis.commands.core.BasicKeyCommands.__delitem__:
  - 1834
  redis.commands.core.BasicKeyCommands.__getitem__:
  - 2123
  - 2124
  - 2119
  redis.commands.core.BasicKeyCommands.__setitem__:
  - 2661
  redis.commands.core.BasicKeyCommands.append:
  - 1689
  - 1682
  redis.commands.core.BasicKeyCommands.bitcount:
  - 1698
  - 1705
  - 1706
  - 1707
  - 1708
  - 1710
  - 1711
  - 1712
  redis.commands.core.BasicKeyCommands.bitfield:
  - 1725
  - 1719
  redis.commands.core.BasicKeyCommands.bitfield_ro:
  - 1746
  - 1747
  - 1748
  - 1734
  redis.commands.core.BasicKeyCommands.bitop:
  - 1757
  - 1751
  redis.commands.core.BasicKeyCommands.bitpos:
  - 1767
  - 1775
  - 1779
  - 1781
  - 1782
  - 1783
  - 1786
  - 1787
  - 1788
  redis.commands.core.BasicKeyCommands.blmove:
  - 2212
  - 2206
  redis.commands.core.BasicKeyCommands.copy:
  - 1797
  - 1810
  - 1811
  - 1812
  - 1813
  - 1814
  redis.commands.core.BasicKeyCommands.decrby:
  - 1817
  - 1823
  redis.commands.core.BasicKeyCommands.delete:
  - 1828
  - 1831
  redis.commands.core.BasicKeyCommands.delex:
  - 1872
  - 1876
  - 1845
  - 1878
  - 1880
  - 1882
  - 1885
  redis.commands.core.BasicKeyCommands.digest:
  - 2033
  - 2055
  redis.commands.core.BasicKeyCommands.digest_local:
  - 2022
  - 2026
  - 1995
  - 2027
  - 2015
  redis.commands.core.BasicKeyCommands.dump:
  - 1888
  - 1898
  redis.commands.core.BasicKeyCommands.exists:
  - 1906
  - 1901
  redis.commands.core.BasicKeyCommands.expire:
  - 1932
  - 1933
  - 1935
  - 1936
  - 1937
  - 1938
  - 1939
  - 1940
  - 1941
  - 1942
  - 1943
  - 1945
  - 1919
  redis.commands.core.BasicKeyCommands.expireat:
  - 1956
  - 1969
  - 1970
  - 1972
  - 1973
  - 1974
  - 1975
  - 1976
  - 1977
  - 1978
  - 1979
  - 1980
  - 1982
  redis.commands.core.BasicKeyCommands.expiretime:
  - 1985
  - 1991
  redis.commands.core.BasicKeyCommands.get:
  - 2058
  - 2063
  redis.commands.core.BasicKeyCommands.getbit:
  - 2129
  - 2134
  redis.commands.core.BasicKeyCommands.getdel:
  - 2066
  - 2074
  redis.commands.core.BasicKeyCommands.getex:
  - 2113
  - 2114
  - 2116
  - 2085
  - 2105
  - 2111
  redis.commands.core.BasicKeyCommands.getrange:
  - 2137
  - 2143
  redis.commands.core.BasicKeyCommands.getset:
  - 2146
  - 2155
  redis.commands.core.BasicKeyCommands.hrandfield:
  - 2466
  - 2467
  - 2468
  - 2469
  - 2471
  - 2452
  redis.commands.core.BasicKeyCommands.incrby:
  - 2164
  - 2158
  redis.commands.core.BasicKeyCommands.incrbyfloat:
  - 2169
  - 2175
  redis.commands.core.BasicKeyCommands.keys:
  - 2178
  - 2183
  redis.commands.core.BasicKeyCommands.lcs:
  - 2855
  - 2856
  - 2857
  - 2858
  - 2859
  - 2860
  - 2861
  - 2862
  - 2863
  - 2845
  redis.commands.core.BasicKeyCommands.lmove:
  - 2196
  - 2188
  redis.commands.core.BasicKeyCommands.mget:
  - 2231
  - 2226
  - 2228
  - 2215
  redis.commands.core.BasicKeyCommands.move:
  - 2339
  - 2334
  redis.commands.core.BasicKeyCommands.mset:
  - 2248
  - 2234
  - 2246
  - 2247
  redis.commands.core.BasicKeyCommands.msetex:
  - 2305
  - 2306
  - 2308
  - 2310
  - 2311
  - 2313
  - 2260
  - 2293
  - 2300
  - 2301
  - 2303
  redis.commands.core.BasicKeyCommands.msetnx:
  - 2329
  - 2330
  - 2331
  - 2316
  redis.commands.core.BasicKeyCommands.persist:
  - 2347
  - 2342
  redis.commands.core.BasicKeyCommands.pexpire:
  - 2371
  - 2372
  - 2374
  - 2375
  - 2376
  - 2377
  - 2378
  - 2379
  - 2380
  - 2381
  - 2382
  - 2383
  - 2358
  redis.commands.core.BasicKeyCommands.pexpireat:
  - 2407
  - 2408
  - 2409
  - 2410
  - 2411
  - 2412
  - 2413
  - 2414
  - 2415
  - 2416
  - 2417
  - 2418
  - 2394
  redis.commands.core.BasicKeyCommands.pexpiretime:
  - 2427
  - 2421
  redis.commands.core.BasicKeyCommands.psetex:
  - 2438
  - 2437
  - 2430
  - 2439
  redis.commands.core.BasicKeyCommands.pttl:
  - 2442
  - 2447
  redis.commands.core.BasicKeyCommands.randomkey:
  - 2474
  - 2479
  redis.commands.core.BasicKeyCommands.rename:
  - 2482
  - 2487
  redis.commands.core.BasicKeyCommands.renamenx:
  - 2490
  - 2495
  redis.commands.core.BasicKeyCommands.restore:
  - 2528
  - 2529
  - 2530
  - 2531
  - 2532
  - 2534
  - 2538
  - 2507
  - 2539
  - 2541
  - 2545
  - 2527
  redis.commands.core.BasicKeyCommands.set:
  - 2565
  - 2620
  - 2627
  - 2636
  - 2637
  - 2638
  - 2639
  - 2640
  - 2641
  - 2642
  - 2643
  - 2644
  - 2645
  - 2646
  - 2647
  - 2649
  - 2650
  - 2653
  - 2655
  - 2656
  - 2658
  redis.commands.core.BasicKeyCommands.setbit:
  - 2664
  - 2671
  redis.commands.core.BasicKeyCommands.setex:
  - 2681
  - 2674
  - 2683
  - 2682
  redis.commands.core.BasicKeyCommands.setnx:
  - 2691
  - 2686
  redis.commands.core.BasicKeyCommands.setrange:
  - 2706
  - 2694
  redis.commands.core.BasicKeyCommands.stralgo:
  - 2720
  - 2752
  - 2753
  - 2755
  - 2756
  - 2759
  - 2760
  - 2762
  - 2741
  - 2742
  - 2744
  - 2746
  - 2749
  - 2750
  - 2751
  redis.commands.core.BasicKeyCommands.strlen:
  - 2778
  - 2773
  redis.commands.core.BasicKeyCommands.substr:
  - 2785
  - 2781
  redis.commands.core.BasicKeyCommands.touch:
  - 2794
  - 2788
  redis.commands.core.BasicKeyCommands.ttl:
  - 2802
  - 2797
  redis.commands.core.BasicKeyCommands.type:
  - 2810
  - 2805
  redis.commands.core.BasicKeyCommands.unlink:
  - 2834
  - 2829
  redis.commands.core.BasicKeyCommands.unwatch:
  - 2826
  - 2821
  redis.commands.core.BasicKeyCommands.watch:
  - 2818
  - 2813
  redis.commands.core.BitFieldOperation:
  - 1555
  redis.commands.core.BitFieldOperation.__init__:
  - 1571
  redis.commands.core.BitFieldOperation.command:
  - 1650
  - 1651
  redis.commands.core.BitFieldOperation.execute:
  - 1663
  - 1662
  - 1655
  redis.commands.core.BitFieldOperation.get:
  - 1621
  - 1630
  redis.commands.core.BitFieldOperation.incrby:
  - 1617
  - 1601
  - 1614
  - 1615
  redis.commands.core.BitFieldOperation.overflow:
  - 1588
  - 1589
  - 1582
  - 1591
  redis.commands.core.BitFieldOperation.reset:
  - 1579
  - 1574
  redis.commands.core.BitFieldOperation.set:
  - 1634
  - 1644
  redis.commands.core.ClusterCommands:
  - 7004
  redis.commands.core.ClusterCommands.cluster:
  - 7009
  redis.commands.core.ClusterCommands.readonly:
  - 7025
  - 7020
  redis.commands.core.ClusterCommands.readwrite:
  - 7017
  - 7012
  redis.commands.core.CoreCommands:
  - 7202
  redis.commands.core.DataAccessCommands:
  - 7169
  redis.commands.core.FunctionCommands:
  - 7032
  redis.commands.core.FunctionCommands._fcall:
  - 7089
  redis.commands.core.FunctionCommands.fcall:
  - 7099
  - 7094
  redis.commands.core.FunctionCommands.fcall_ro:
  - 7104
  - 7110
  redis.commands.core.FunctionCommands.function_delete:
  - 7059
  - 7054
  redis.commands.core.FunctionCommands.function_dump:
  - 7113
  - 7123
  redis.commands.core.FunctionCommands.function_flush:
  - 7067
  - 7062
  redis.commands.core.FunctionCommands.function_kill:
  - 7138
  - 7143
  redis.commands.core.FunctionCommands.function_list:
  - 7072
  - 7082
  - 7083
  - 7084
  redis.commands.core.FunctionCommands.function_load:
  - 7050
  - 7051
  - 7039
  redis.commands.core.FunctionCommands.function_restore:
  - 7128
  - 7135
  redis.commands.core.FunctionCommands.function_stats:
  - 7152
  - 7146
  redis.commands.core.GeoCommands:
  - 6498
  redis.commands.core.GeoCommands._georadiusgeneric:
  - 6687
  - 6688
  - 6690
  - 6691
  - 6693
  - 6695
  - 6698
  - 6703
  - 6704
  - 6706
  - 6707
  - 6708
  - 6709
  - 6711
  - 6712
  - 6713
  - 6714
  - 6715
  - 6719
  - 6722
  - 6723
  - 6725
  - 6726
  - 6728
  redis.commands.core.GeoCommands._geosearchgeneric:
  - 6917
  - 6918
  - 6922
  - 6861
  - 6864
  - 6865
  - 6867
  - 6868
  - 6872
  - 6873
  - 6874
  - 6877
  - 6878
  - 6880
  - 6882
  - 6884
  - 6885
  - 6889
  - 6890
  - 6891
  - 6894
  - 6895
  - 6896
  - 6897
  - 6898
  - 6903
  - 6904
  - 6905
  - 6906
  - 6907
  - 6911
  redis.commands.core.GeoCommands.geoadd:
  - 6531
  - 6533
  - 6536
  - 6537
  - 6538
  - 6539
  - 6540
  - 6541
  - 6542
  - 6511
  - 6543
  redis.commands.core.GeoCommands.geodist:
  - 6560
  - 6561
  - 6548
  - 6557
  - 6559
  redis.commands.core.GeoCommands.geohash:
  - 6570
  - 6564
  redis.commands.core.GeoCommands.geopos:
  - 6580
  - 6573
  redis.commands.core.GeoCommands.georadius:
  - 6628
  - 6598
  redis.commands.core.GeoCommands.georadiusbymember:
  - 6660
  - 6668
  redis.commands.core.GeoCommands.geosearch:
  - 6747
  - 6791
  redis.commands.core.GeoCommands.geosearchstore:
  - 6827
  - 6837
  redis.commands.core.HashCommands:
  - 5465
  - 5737
  redis.commands.core.HashCommands.hdel:
  - 5476
  - 5471
  redis.commands.core.HashCommands.hexists:
  - 5484
  - 5479
  redis.commands.core.HashCommands.hexpire:
  - 5792
  - 5825
  - 5826
  - 5829
  - 5830
  - 5831
  - 5832
  - 5833
  - 5834
  - 5835
  - 5836
  - 5838
  - 5839
  - 5822
  redis.commands.core.HashCommands.hexpireat:
  - 5952
  - 5953
  - 5954
  - 5955
  - 5956
  - 5958
  - 5964
  - 5942
  - 5912
  - 5945
  - 5946
  - 5949
  - 5950
  - 5951
  redis.commands.core.HashCommands.hexpiretime:
  - 6072
  - 6054
  - 6071
  redis.commands.core.HashCommands.hget:
  - 5489
  - 5494
  redis.commands.core.HashCommands.hgetall:
  - 5497
  - 5502
  redis.commands.core.HashCommands.hgetdel:
  - 5521
  - 5509
  - 5518
  redis.commands.core.HashCommands.hgetex:
  - 5568
  - 5573
  - 5554
  - 5557
  - 5563
  - 5565
  - 5566
  - 5535
  redis.commands.core.HashCommands.hincrby:
  - 5585
  - 5580
  redis.commands.core.HashCommands.hincrbyfloat:
  - 5595
  - 5590
  redis.commands.core.HashCommands.hkeys:
  - 5603
  - 5598
  redis.commands.core.HashCommands.hlen:
  - 5611
  - 5606
  redis.commands.core.HashCommands.hmget:
  - 5762
  - 5763
  - 5757
  redis.commands.core.HashCommands.hmset:
  - 5743
  - 5749
  - 5752
  - 5753
  - 5754
  redis.commands.core.HashCommands.hpersist:
  - 6035
  - 6051
  redis.commands.core.HashCommands.hpexpire:
  - 5889
  - 5890
  - 5891
  - 5892
  - 5893
  - 5894
  - 5895
  - 5896
  - 5898
  - 5899
  - 5882
  - 5852
  - 5885
  - 5886
  redis.commands.core.HashCommands.hpexpireat:
  - 6016
  - 6017
  - 6018
  - 6019
  - 6020
  - 6021
  - 6022
  - 6024
  - 6030
  - 6008
  - 5978
  - 6011
  - 6012
  - 6015
  redis.commands.core.HashCommands.hpexpiretime:
  - 6076
  - 6093
  - 6094
  redis.commands.core.HashCommands.hpttl:
  - 6120
  - 6137
  - 6138
  redis.commands.core.HashCommands.hset:
  - 5632
  - 5636
  - 5637
  - 5638
  - 5639
  - 5640
  - 5641
  - 5642
  - 5644
  - 5621
  redis.commands.core.HashCommands.hsetex:
  - 5696
  - 5725
  - 5702
  - 5708
  - 5709
  - 5710
  - 5712
  - 5713
  - 5716
  - 5717
  - 5718
  - 5719
  - 5720
  - 5721
  - 5722
  - 5660
  - 5693
  - 5724
  redis.commands.core.HashCommands.hsetnx:
  - 5729
  - 5735
  redis.commands.core.HashCommands.hstrlen:
  - 5780
  - 5774
  redis.commands.core.HashCommands.httl:
  - 6098
  - 6115
  - 6116
  redis.commands.core.HashCommands.hvals:
  - 5771
  - 5766
  redis.commands.core.HyperlogCommands:
  - 5420
  redis.commands.core.HyperlogCommands.pfadd:
  - 5426
  - 5431
  redis.commands.core.HyperlogCommands.pfcount:
  - 5440
  - 5434
  redis.commands.core.HyperlogCommands.pfmerge:
  - 5448
  - 5443
  redis.commands.core.ListCommands:
  - 2887
  redis.commands.core.ListCommands.blmpop:
  - 2970
  - 2959
  redis.commands.core.ListCommands.blpop:
  - 2895
  - 2907
  - 2909
  - 2910
  - 2911
  redis.commands.core.ListCommands.brpop:
  - 2916
  - 2928
  - 2930
  - 2931
  - 2932
  redis.commands.core.ListCommands.brpoplpush:
  - 2937
  - 2947
  - 2949
  redis.commands.core.ListCommands.lindex:
  - 3002
  - 2994
  redis.commands.core.ListCommands.linsert:
  - 3016
  - 3007
  redis.commands.core.ListCommands.llen:
  - 3024
  - 3019
  redis.commands.core.ListCommands.lmpop:
  - 2979
  - 2985
  - 2986
  - 2987
  - 2989
  redis.commands.core.ListCommands.lpop:
  - 3040
  - 3041
  - 3043
  - 3031
  redis.commands.core.ListCommands.lpos:
  - 3185
  - 3186
  - 3188
  - 3189
  - 3191
  - 3159
  - 3192
  - 3194
  redis.commands.core.ListCommands.lpush:
  - 3051
  - 3046
  redis.commands.core.ListCommands.lpushx:
  - 3059
  - 3054
  redis.commands.core.ListCommands.lrange:
  - 3062
  - 3071
  redis.commands.core.ListCommands.lrem:
  - 3074
  - 3085
  redis.commands.core.ListCommands.lset:
  - 3088
  - 3093
  redis.commands.core.ListCommands.ltrim:
  - 3096
  - 3105
  redis.commands.core.ListCommands.rpop:
  - 3112
  - 3121
  - 3122
  - 3124
  redis.commands.core.ListCommands.rpoplpush:
  - 3133
  - 3127
  redis.commands.core.ListCommands.rpush:
  - 3136
  - 3141
  redis.commands.core.ListCommands.rpushx:
  - 3144
  - 3149
  redis.commands.core.ListCommands.sort:
  - 3208
  - 3233
  - 3237
  - 3238
  - 3239
  - 3240
  - 3241
  - 3246
  - 3247
  - 3249
  - 3250
  - 3251
  - 3252
  - 3253
  - 3254
  - 3255
  - 3256
  - 3257
  - 3258
  - 3265
  - 3267
  redis.commands.core.ListCommands.sort_ro:
  - 3298
  - 3279
  redis.commands.core.ManagementCommands:
  - 414
  redis.commands.core.ManagementCommands.auth:
  - 419
  - 426
  - 427
  - 428
  - 429
  redis.commands.core.ManagementCommands.bgrewriteaof:
  - 432
  - 436
  redis.commands.core.ManagementCommands.bgsave:
  - 448
  - 447
  - 446
  - 439
  redis.commands.core.ManagementCommands.client_getname:
  - 563
  - 558
  redis.commands.core.ManagementCommands.client_getredir:
  - 572
  - 566
  redis.commands.core.ManagementCommands.client_id:
  - 604
  - 599
  redis.commands.core.ManagementCommands.client_info:
  - 528
  - 522
  redis.commands.core.ManagementCommands.client_kill:
  - 465
  - 461
  redis.commands.core.ManagementCommands.client_kill_filter:
  - 512
  - 513
  - 514
  - 519
  - 478
  - 492
  - 494
  - 496
  - 497
  - 498
  - 500
  - 501
  - 503
  - 504
  - 505
  - 506
  - 507
  - 508
  - 509
  - 510
  - 511
  redis.commands.core.ManagementCommands.client_list:
  - 544
  - 546
  - 548
  - 549
  - 550
  - 552
  - 553
  - 555
  - 533
  redis.commands.core.ManagementCommands.client_no_evict:
  - 792
  - 787
  redis.commands.core.ManagementCommands.client_no_touch:
  - 803
  - 795
  redis.commands.core.ManagementCommands.client_pause:
  - 771
  - 772
  - 774
  - 775
  - 776
  - 751
  redis.commands.core.ManagementCommands.client_reply:
  - 577
  - 594
  - 596
  redis.commands.core.ManagementCommands.client_setinfo:
  - 728
  - 732
  redis.commands.core.ManagementCommands.client_setname:
  - 714
  - 725
  redis.commands.core.ManagementCommands.client_tracking:
  - 685
  - 655
  - 689
  - 690
  - 691
  - 692
  - 693
  - 694
  - 695
  - 696
  - 697
  - 698
  - 699
  - 700
  - 702
  redis.commands.core.ManagementCommands.client_tracking_off:
  - 640
  - 634
  redis.commands.core.ManagementCommands.client_tracking_on:
  - 621
  - 615
  redis.commands.core.ManagementCommands.client_trackinginfo:
  - 705
  - 711
  redis.commands.core.ManagementCommands.client_unblock:
  - 737
  - 745
  - 746
  - 747
  - 748
  redis.commands.core.ManagementCommands.client_unpause:
  - 784
  - 779
  redis.commands.core.ManagementCommands.command:
  - 811
  - 806
  redis.commands.core.ManagementCommands.command_count:
  - 819
  redis.commands.core.ManagementCommands.command_docs:
  - 858
  redis.commands.core.ManagementCommands.command_getkeysandflags:
  - 850
  - 855
  redis.commands.core.ManagementCommands.command_list:
  - 837
  - 838
  - 839
  - 840
  - 841
  - 842
  - 844
  - 845
  - 847
  - 827
  redis.commands.core.ManagementCommands.config_get:
  - 874
  - 869
  redis.commands.core.ManagementCommands.config_resetstat:
  - 890
  - 895
  redis.commands.core.ManagementCommands.config_rewrite:
  - 898
  - 903
  redis.commands.core.ManagementCommands.config_set:
  - 883
  - 887
  redis.commands.core.ManagementCommands.dbsize:
  - 906
  - 911
  redis.commands.core.ManagementCommands.debug_object:
  - 914
  - 919
  redis.commands.core.ManagementCommands.echo:
  - 936
  - 931
  redis.commands.core.ManagementCommands.failover:
  - 1406
  redis.commands.core.ManagementCommands.flushall:
  - 939
  - 948
  - 949
  - 950
  redis.commands.core.ManagementCommands.flushdb:
  - 953
  - 962
  - 963
  - 964
  redis.commands.core.ManagementCommands.hello:
  - 1397
  redis.commands.core.ManagementCommands.hotkeys_get:
  - 1490
  - 1500
  redis.commands.core.ManagementCommands.hotkeys_reset:
  - 1482
  - 1476
  redis.commands.core.ManagementCommands.hotkeys_start:
  - 1440
  - 1443
  - 1444
  - 1447
  - 1448
  - 1451
  - 1452
  - 1423
  - 1455
  - 1456
  - 1457
  - 1458
  - 1460
  - 1439
  redis.commands.core.ManagementCommands.hotkeys_stop:
  - 1465
  - 1471
  redis.commands.core.ManagementCommands.info:
  - 1018
  - 1019
  - 1021
  - 1007
  redis.commands.core.ManagementCommands.lastsave:
  - 1024
  - 1030
  redis.commands.core.ManagementCommands.latency_doctor:
  - 1033
  redis.commands.core.ManagementCommands.latency_graph:
  - 1047
  redis.commands.core.ManagementCommands.latency_histogram:
  - 1195
  redis.commands.core.ManagementCommands.latency_history:
  - 1209
  - 1204
  redis.commands.core.ManagementCommands.latency_latest:
  - 1217
  - 1212
  redis.commands.core.ManagementCommands.latency_reset:
  - 1225
  - 1220
  redis.commands.core.ManagementCommands.lolwut:
  - 1069
  - 1066
  - 1067
  - 1061
  redis.commands.core.ManagementCommands.memory_malloc_stats:
  - 1161
  - 1166
  redis.commands.core.ManagementCommands.memory_purge:
  - 1192
  - 1187
  redis.commands.core.ManagementCommands.memory_stats:
  - 1153
  - 1158
  redis.commands.core.ManagementCommands.memory_usage:
  - 1184
  - 1171
  - 1182
  - 1183
  redis.commands.core.ManagementCommands.migrate:
  - 1120
  - 1121
  - 1090
  - 1122
  - 1109
  - 1110
  - 1113
  - 1114
  - 1115
  - 1116
  - 1117
  - 1118
  - 1119
  redis.commands.core.ManagementCommands.object:
  - 1130
  - 1127
  redis.commands.core.ManagementCommands.ping:
  - 1240
  - 1228
  redis.commands.core.ManagementCommands.psync:
  - 979
  - 989
  redis.commands.core.ManagementCommands.quit:
  - 1248
  - 1243
  redis.commands.core.ManagementCommands.replicaof:
  - 1251
  - 1261
  redis.commands.core.ManagementCommands.reset:
  - 1072
  - 1076
  redis.commands.core.ManagementCommands.role:
  - 458
  - 451
  redis.commands.core.ManagementCommands.save:
  - 1264
  - 1270
  redis.commands.core.ManagementCommands.select:
  - 1000
  - 1004
  redis.commands.core.ManagementCommands.shutdown:
  - 1281
  - 1294
  - 1297
  - 1298
  - 1299
  - 1300
  - 1301
  - 1302
  - 1303
  - 1304
  - 1305
  - 1306
  - 1308
  redis.commands.core.ManagementCommands.slaveof:
  - 1325
  - 1324
  - 1317
  - 1326
  redis.commands.core.ManagementCommands.slowlog_get:
  - 1329
  - 1338
  - 1339
  - 1340
  - 1341
  - 1343
  redis.commands.core.ManagementCommands.slowlog_len:
  - 1346
  - 1351
  redis.commands.core.ManagementCommands.slowlog_reset:
  - 1354
  - 1359
  redis.commands.core.ManagementCommands.swapdb:
  - 992
  - 997
  redis.commands.core.ManagementCommands.sync:
  - 976
  - 967
  redis.commands.core.ManagementCommands.time:
  - 1368
  - 1362
  redis.commands.core.ManagementCommands.wait:
  - 1379
  - 1371
  redis.commands.core.ManagementCommands.waitaof:
  - 1384
  - 1392
  redis.commands.core.ModuleCommands:
  - 6929
  redis.commands.core.ModuleCommands.command:
  - 6995
  redis.commands.core.ModuleCommands.command_count:
  - 6989
  redis.commands.core.ModuleCommands.command_getkeys:
  - 6992
  redis.commands.core.ModuleCommands.module_list:
  - 6981
  - 6975
  redis.commands.core.ModuleCommands.module_load:
  - 6942
  - 6935
  redis.commands.core.ModuleCommands.module_loadex:
  - 6950
  - 6956
  - 6957
  - 6958
  - 6959
  - 6960
  - 6961
  - 6963
  redis.commands.core.ModuleCommands.module_unload:
  - 6972
  - 6966
  redis.commands.core.PubSubCommands:
  - 6262
  redis.commands.core.PubSubCommands.publish:
  - 6274
  - 6268
  redis.commands.core.PubSubCommands.pubsub_channels:
  - 6291
  - 6286
  redis.commands.core.PubSubCommands.pubsub_numpat:
  - 6307
  - 6302
  redis.commands.core.PubSubCommands.pubsub_numsub:
  - 6316
  - 6310
  redis.commands.core.PubSubCommands.pubsub_shardchannels:
  - 6299
  - 6294
  redis.commands.core.PubSubCommands.pubsub_shardnumsub:
  - 6325
  - 6319
  redis.commands.core.PubSubCommands.spublish:
  - 6283
  - 6277
  redis.commands.core.ScanCommands:
  - 3307
  redis.commands.core.ScanCommands.hscan:
  - 3424
  - 3437
  - 3438
  - 3439
  - 3440
  - 3441
  - 3442
  - 3443
  redis.commands.core.ScanCommands.hscan_iter:
  - 3464
  - 3467
  - 3468
  - 3470
  - 3452
  redis.commands.core.ScanCommands.scan:
  - 3337
  - 3338
  - 3339
  - 3340
  - 3341
  - 3342
  - 3343
  - 3320
  redis.commands.core.ScanCommands.scan_iter:
  - 3352
  - 3368
  - 3371
  redis.commands.core.ScanCommands.sscan:
  - 3392
  - 3393
  - 3394
  - 3395
  - 3380
  - 3391
  redis.commands.core.ScanCommands.sscan_iter:
  - 3403
  - 3413
  - 3414
  redis.commands.core.ScanCommands.zscan:
  - 3493
  - 3494
  - 3495
  - 3496
  - 3498
  - 3480
  redis.commands.core.ScanCommands.zscan_iter:
  - 3507
  - 3526
  - 3519
  redis.commands.core.Script:
  - 6146
  redis.commands.core.Script.__call__:
  - 6177
  - 6179
  - 6181
  - 6186
  - 6187
  - 6168
  - 6171
  - 6173
  redis.commands.core.Script.__init__:
  - 6160
  - 6155
  - 6158
  - 6159
  redis.commands.core.Script.get_encoder:
  - 6192
  - 6205
  - 6190
  redis.commands.core.ScriptCommands:
  - 6332
  redis.commands.core.ScriptCommands._eval:
  - 6344
  redis.commands.core.ScriptCommands._evalsha:
  - 6382
  redis.commands.core.ScriptCommands.eval:
  - 6349
  - 6359
  redis.commands.core.ScriptCommands.eval_ro:
  - 6364
  - 6373
  redis.commands.core.ScriptCommands.evalsha:
  - 6387
  - 6398
  redis.commands.core.ScriptCommands.evalsha_ro:
  - 6403
  - 6413
  redis.commands.core.ScriptCommands.register_script:
  - 6477
  - 6471
  redis.commands.core.ScriptCommands.script_exists:
  - 6416
  - 6423
  redis.commands.core.ScriptCommands.script_flush:
  - 6448
  - 6433
  - 6442
  - 6452
  redis.commands.core.ScriptCommands.script_kill:
  - 6460
  - 6455
  redis.commands.core.ScriptCommands.script_load:
  - 6468
  - 6463
  redis.commands.core.SetCommands:
  - 3641
  redis.commands.core.SetCommands.sadd:
  - 3652
  - 3647
  redis.commands.core.SetCommands.scard:
  - 3660
  - 3655
  redis.commands.core.SetCommands.sdiff:
  - 3668
  - 3669
  - 3663
  redis.commands.core.SetCommands.sdiffstore:
  - 3680
  - 3681
  - 3674
  redis.commands.core.SetCommands.sinter:
  - 3689
  - 3690
  - 3684
  redis.commands.core.SetCommands.sintercard:
  - 3705
  - 3695
  redis.commands.core.SetCommands.sinterstore:
  - 3716
  - 3717
  - 3710
  redis.commands.core.SetCommands.sismember:
  - 3729
  - 3722
  redis.commands.core.SetCommands.smembers:
  - 3737
  - 3732
  redis.commands.core.SetCommands.smismember:
  - 3745
  - 3754
  - 3753
  redis.commands.core.SetCommands.smove:
  - 3762
  - 3757
  redis.commands.core.SetCommands.spop:
  - 3773
  - 3767
  redis.commands.core.SetCommands.srandmember:
  - 3778
  - 3788
  redis.commands.core.SetCommands.srem:
  - 3796
  - 3791
  redis.commands.core.SetCommands.sunion:
  - 3804
  - 3805
  - 3799
  redis.commands.core.SetCommands.sunionstore:
  - 3816
  - 3817
  - 3810
  redis.commands.core.SortedSetCommands:
  - 4599
  redis.commands.core.SortedSetCommands._zaggregate:
  - 5410
  - 5411
  - 5413
  - 5393
  - 5394
  - 5395
  - 5396
  - 5397
  - 5400
  - 5401
  - 5402
  - 5403
  - 5404
  - 5405
  - 5406
  - 5407
  redis.commands.core.SortedSetCommands._zrange:
  - 4960
  - 4961
  - 4962
  - 4963
  - 4964
  - 4965
  - 4966
  - 4969
  - 4945
  - 4947
  - 4949
  - 4954
  - 4955
  - 4956
  - 4957
  - 4958
  - 4959
  redis.commands.core.SortedSetCommands.bzmpop:
  - 4928
  - 4907
  - 4920
  - 4922
  - 4923
  - 4925
  - 4926
  redis.commands.core.SortedSetCommands.bzpopmax:
  - 4836
  - 4848
  - 4850
  - 4851
  - 4852
  redis.commands.core.SortedSetCommands.bzpopmin:
  - 4867
  - 4869
  - 4870
  - 4871
  - 4855
  redis.commands.core.SortedSetCommands.zadd:
  - 4615
  - 4648
  - 4650
  - 4652
  - 4654
  - 4658
  - 4663
  - 4664
  - 4665
  - 4666
  - 4667
  - 4668
  - 4669
  - 4670
  - 4672
  - 4673
  - 4674
  - 4675
  - 4676
  - 4677
  - 4678
  - 4679
  redis.commands.core.SortedSetCommands.zcard:
  - 4682
  - 4687
  redis.commands.core.SortedSetCommands.zcount:
  - 4696
  - 4690
  redis.commands.core.SortedSetCommands.zdiff:
  - 4705
  - 4706
  - 4707
  - 4708
  - 4699
  redis.commands.core.SortedSetCommands.zdiffstore:
  - 4717
  - 4718
  - 4711
  redis.commands.core.SortedSetCommands.zincrby:
  - 4721
  - 4726
  redis.commands.core.SortedSetCommands.zinter:
  - 4731
  - 4742
  redis.commands.core.SortedSetCommands.zintercard:
  - 4776
  - 4766
  redis.commands.core.SortedSetCommands.zinterstore:
  - 4761
  - 4750
  redis.commands.core.SortedSetCommands.zlexcount:
  - 4785
  - 4779
  redis.commands.core.SortedSetCommands.zmpop:
  - 4896
  - 4881
  - 4887
  - 4889
  - 4890
  - 4892
  - 4893
  - 4894
  redis.commands.core.SortedSetCommands.zmscore:
  - 5369
  - 5379
  - 5382
  redis.commands.core.SortedSetCommands.zpopmax:
  - 4796
  - 4788
  redis.commands.core.SortedSetCommands.zpopmin:
  - 4807
  - 4799
  redis.commands.core.SortedSetCommands.zrandmember:
  - 4833
  - 4812
  - 4828
  - 4829
  - 4830
  - 4831
  redis.commands.core.SortedSetCommands.zrange:
  - 4984
  - 5017
  - 5014
  - 5015
  redis.commands.core.SortedSetCommands.zrangebylex:
  - 5127
  - 5130
  - 5131
  - 5132
  - 5118
  redis.commands.core.SortedSetCommands.zrangebyscore:
  - 5185
  - 5186
  - 5187
  - 5188
  - 5191
  - 5168
  - 5182
  redis.commands.core.SortedSetCommands.zrangestore:
  - 5072
  - 5095
  redis.commands.core.SortedSetCommands.zrank:
  - 5235
  - 5251
  - 5246
  - 5247
  redis.commands.core.SortedSetCommands.zrem:
  - 5259
  - 5254
  redis.commands.core.SortedSetCommands.zremrangebylex:
  - 5270
  - 5262
  redis.commands.core.SortedSetCommands.zremrangebyrank:
  - 5273
  - 5281
  redis.commands.core.SortedSetCommands.zremrangebyscore:
  - 5292
  - 5286
  redis.commands.core.SortedSetCommands.zrevrange:
  - 5040
  - 5058
  - 5054
  - 5055
  redis.commands.core.SortedSetCommands.zrevrangebylex:
  - 5154
  - 5155
  - 5156
  - 5142
  - 5151
  redis.commands.core.SortedSetCommands.zrevrangebyscore:
  - 5217
  - 5220
  - 5221
  - 5222
  - 5223
  - 5226
  - 5203
  redis.commands.core.SortedSetCommands.zrevrank:
  - 5312
  - 5313
  - 5301
  - 5317
  redis.commands.core.SortedSetCommands.zscore:
  - 5320
  - 5325
  redis.commands.core.SortedSetCommands.zunion:
  - 5344
  - 5334
  redis.commands.core.SortedSetCommands.zunionstore:
  - 5366
  - 5359
  redis.commands.core.StreamCommands:
  - 3824
  redis.commands.core.StreamCommands.xack:
  - 3840
  - 3830
  redis.commands.core.StreamCommands.xackdel:
  - 3849
  - 3854
  - 3857
  - 3860
  - 3861
  - 3862
  redis.commands.core.StreamCommands.xadd:
  - 3878
  - 3909
  - 3912
  - 3915
  - 3918
  - 3921
  - 3922
  - 3923
  - 3924
  - 3925
  - 3926
  - 3927
  - 3928
  - 3932
  - 3933
  - 3934
  - 3936
  - 3937
  - 3938
  - 3939
  - 3940
  - 3941
  - 3942
  - 3943
  - 3944
  - 3945
  - 3946
  - 3947
  - 3948
  - 3950
  - 3951
  - 3952
  redis.commands.core.StreamCommands.xautoclaim:
  - 4064
  - 4067
  - 4028
  - 4047
  - 4058
  - 4060
  - 4063
  redis.commands.core.StreamCommands.xcfgset:
  - 4003
  - 4005
  - 4006
  - 4007
  - 4014
  - 4016
  - 3987
  - 3960
  - 3994
  - 3995
  - 3996
  redis.commands.core.StreamCommands.xclaim:
  - 4116
  - 4118
  - 4125
  - 4126
  - 4128
  - 4129
  - 4131
  - 4132
  - 4133
  - 4135
  - 4136
  - 4137
  - 4139
  - 4141
  - 4142
  - 4144
  - 4145
  - 4146
  - 4148
  - 4150
  - 4082
  redis.commands.core.StreamCommands.xdel:
  - 4153
  - 4162
  redis.commands.core.StreamCommands.xdelex:
  - 4170
  - 4174
  - 4177
  - 4180
  - 4181
  - 4182
  redis.commands.core.StreamCommands.xgroup_create:
  - 4192
  - 4201
  - 4202
  - 4203
  - 4204
  - 4206
  redis.commands.core.StreamCommands.xgroup_createconsumer:
  - 4236
  - 4246
  redis.commands.core.StreamCommands.xgroup_delconsumer:
  - 4211
  - 4221
  redis.commands.core.StreamCommands.xgroup_destroy:
  - 4224
  - 4231
  redis.commands.core.StreamCommands.xgroup_setid:
  - 4257
  - 4266
  - 4267
  - 4268
  redis.commands.core.StreamCommands.xinfo_consumers:
  - 4278
  - 4271
  redis.commands.core.StreamCommands.xinfo_groups:
  - 4281
  - 4287
  redis.commands.core.StreamCommands.xinfo_stream:
  - 4290
  - 4299
  - 4300
  - 4302
  redis.commands.core.StreamCommands.xlen:
  - 4305
  - 4310
  redis.commands.core.StreamCommands.xpending:
  - 4320
  - 4313
  redis.commands.core.StreamCommands.xpending_range:
  - 4354
  - 4377
  - 4361
  - 4363
  - 4332
  - 4368
  - 4370
  - 4374
  - 4375
  - 4344
  - 4345
  - 4351
  redis.commands.core.StreamCommands.xrange:
  - 4386
  - 4403
  - 4404
  - 4406
  - 4407
  - 4409
  redis.commands.core.StreamCommands.xread:
  - 4417
  - 4431
  - 4432
  - 4434
  - 4435
  - 4436
  - 4437
  - 4439
  - 4440
  - 4441
  - 4443
  - 4444
  - 4445
  - 4446
  - 4447
  redis.commands.core.StreamCommands.xreadgroup:
  - 4482
  - 4483
  - 4485
  - 4486
  - 4487
  - 4488
  - 4490
  - 4491
  - 4492
  - 4493
  - 4494
  - 4495
  - 4499
  - 4500
  - 4502
  - 4504
  - 4505
  - 4506
  - 4507
  - 4459
  redis.commands.core.StreamCommands.xrevrange:
  - 4516
  - 4533
  - 4534
  - 4536
  - 4537
  - 4539
  redis.commands.core.StreamCommands.xtrim:
  - 4550
  - 4567
  - 4570
  - 4573
  - 4576
  - 4577
  - 4578
  - 4579
  - 4580
  - 4581
  - 4582
  - 4583
  - 4584
  - 4585
  - 4586
  - 4587
  - 4588
  - 4589
  - 4590
  - 4592
  redis.commands.helpers.at_most_one_value_set:
  - 116
  - 117
  - 102
  redis.commands.helpers.decode_dict_keys:
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  redis.commands.helpers.delist:
  - 36
  - 37
  - 39
  redis.commands.helpers.get_protocol_version:
  - 96
  - 97
  - 98
  - 95
  redis.commands.helpers.list_or_args:
  - 13
  - 16
  - 19
  - 22
  - 23
  redis.commands.helpers.nativestr:
  - 28
  - 29
  - 30
  redis.commands.helpers.parse_to_list:
  - 65
  - 68
  - 70
  - 43
  - 48
  - 51
  - 52
  - 53
  - 56
  - 58
  - 61
  - 62
  redis.commands.helpers.random_string:
  - 80
  - 76
  - 79
  redis.commands.json.ClusterPipeline:
  - 143
  redis.commands.json.JSON:
  - 11
  redis.commands.json.JSON.__init__:
  - 38
  - 39
  - 40
  - 71
  - 42
  - 72
  - 74
  - 76
  - 77
  - 24
  redis.commands.json.JSON.__init__.<lambda1>:
  - 38
  redis.commands.json.JSON.__init__.<lambda2>:
  - 40
  redis.commands.json.JSON.__init__.<lambda3>:
  - 42
  redis.commands.json.JSON._decode:
  - 96
  - 98
  - 83
  - 84
  - 88
  - 89
  - 94
  redis.commands.json.JSON._encode:
  - 101
  - 102
  redis.commands.json.JSON.pipeline:
  - 130
  - 105
  - 116
  - 117
  - 123
  redis.commands.json.Pipeline:
  - 147
  redis.commands.json.commands.JSONCommands:
  - 421
  - 427
  - 14
  - 144
  - 415
  redis.commands.json.commands.JSONCommands.arrappend:
  - 19
  - 24
  - 25
  - 26
  - 27
  redis.commands.json.commands.JSONCommands.arrindex:
  - 37
  - 46
  - 47
  - 48
  - 49
  - 50
  - 52
  redis.commands.json.commands.JSONCommands.arrinsert:
  - 64
  - 65
  - 57
  - 62
  - 63
  redis.commands.json.commands.JSONCommands.arrlen:
  - 75
  - 70
  redis.commands.json.commands.JSONCommands.arrpop:
  - 88
  - 83
  redis.commands.json.commands.JSONCommands.arrtrim:
  - 98
  - 93
  redis.commands.json.commands.JSONCommands.clear:
  - 164
  - 156
  redis.commands.json.commands.JSONCommands.debug:
  - 399
  - 405
  - 408
  - 409
  - 411
  - 412
  - 413
  redis.commands.json.commands.JSONCommands.delete:
  - 171
  - 167
  redis.commands.json.commands.JSONCommands.get:
  - 192
  - 193
  - 196
  - 197
  - 202
  - 179
  - 189
  - 190
  redis.commands.json.commands.JSONCommands.jsonget:
  - 419
  redis.commands.json.commands.JSONCommands.jsonmget:
  - 425
  redis.commands.json.commands.JSONCommands.jsonset:
  - 431
  redis.commands.json.commands.JSONCommands.merge:
  - 290
  - 291
  - 293
  - 295
  - 281
  redis.commands.json.commands.JSONCommands.mget:
  - 216
  - 215
  - 207
  redis.commands.json.commands.JSONCommands.mset:
  - 272
  - 258
  - 270
  - 271
  redis.commands.json.commands.JSONCommands.numincrby:
  - 140
  - 141
  - 135
  redis.commands.json.commands.JSONCommands.nummultby:
  - 152
  - 146
  - 151
  redis.commands.json.commands.JSONCommands.objkeys:
  - 122
  - 117
  redis.commands.json.commands.JSONCommands.objlen:
  - 132
  - 127
  redis.commands.json.commands.JSONCommands.resp:
  - 112
  - 108
  redis.commands.json.commands.JSONCommands.set:
  - 227
  - 240
  - 241
  - 243
  - 246
  - 251
  - 252
  - 253
  - 254
  - 255
  redis.commands.json.commands.JSONCommands.set_file:
  - 320
  - 306
  - 317
  - 318
  redis.commands.json.commands.JSONCommands.set_path:
  - 330
  - 341
  - 342
  - 343
  - 345
  - 346
  redis.commands.json.commands.JSONCommands.strappend:
  - 384
  - 390
  - 391
  redis.commands.json.commands.JSONCommands.strlen:
  - 368
  - 361
  - 369
  - 367
  redis.commands.json.commands.JSONCommands.toggle:
  - 379
  - 374
  redis.commands.json.commands.JSONCommands.type:
  - 105
  - 101
  redis.commands.json.decoders.bulk_of_jsons:
  - 8
  redis.commands.json.decoders.bulk_of_jsons._f:
  - 13
  - 14
  - 15
  redis.commands.json.decoders.decode_dict_keys:
  - 22
  - 23
  - 24
  - 25
  - 26
  - 27
  redis.commands.json.decoders.decode_list:
  - 50
  - 54
  - 55
  - 56
  - 57
  - 58
  - 59
  redis.commands.json.decoders.unstring:
  - 32
  - 38
  - 39
  - 40
  - 43
  - 44
  - 45
  redis.commands.json.path.Path:
  - 2
  redis.commands.json.path.Path.__init__:
  - 12
  redis.commands.json.path.Path.root_path:
  - 8
  redis.commands.policies:
  - 14
  - 18
  - 22
  - 26
  - 30
  - 34
  - 38
  - 42
  - 46
  - 50
  - 54
  - 58
  - 62
  - 66
  - 70
  - 74
  - 78
  - 82
  - 86
  - 90
  - 94
  - 98
  - 102
  - 106
  - 110
  - 116
  redis.commands.policies.AsyncBasePolicyResolver:
  - 219
  redis.commands.policies.AsyncBasePolicyResolver.resolve:
  - 230
  - 232
  - 235
  - 237
  - 238
  - 239
  - 243
  - 244
  - 245
  - 249
  redis.commands.policies.AsyncDynamicPolicyResolver:
  - 295
  redis.commands.policies.AsyncDynamicPolicyResolver.__init__:
  - 304
  - 310
  redis.commands.policies.AsyncDynamicPolicyResolver.with_fallback:
  - 313
  redis.commands.policies.AsyncPolicyResolver.resolve:
  - 155
  redis.commands.policies.AsyncPolicyResolver.with_fallback:
  - 168
  redis.commands.policies.AsyncStaticPolicyResolver:
  - 317
  redis.commands.policies.AsyncStaticPolicyResolver.__init__:
  - 322
  - 327
  redis.commands.policies.AsyncStaticPolicyResolver.with_fallback:
  - 330
  redis.commands.policies.BasePolicyResolver:
  - 181
  redis.commands.policies.BasePolicyResolver.resolve:
  - 192
  - 194
  - 197
  - 199
  - 200
  - 201
  - 205
  - 206
  - 207
  - 211
  redis.commands.policies.DynamicPolicyResolver:
  - 257
  redis.commands.policies.DynamicPolicyResolver.__init__:
  - 264
  - 271
  redis.commands.policies.DynamicPolicyResolver.with_fallback:
  - 274
  redis.commands.policies.PolicyResolver.resolve:
  - 127
  redis.commands.policies.PolicyResolver.with_fallback:
  - 140
  redis.commands.policies.StaticPolicyResolver:
  - 278
  redis.commands.policies.StaticPolicyResolver.__init__:
  - 288
  - 283
  redis.commands.policies.StaticPolicyResolver.with_fallback:
  - 291
  redis.commands.redismodules:
  - 6
  redis.commands.redismodules.AsyncRedisModuleCommands.ft:
  - 96
  - 100
  redis.commands.redismodules.RedisModuleCommands:
  - 15
  redis.commands.redismodules.RedisModuleCommands.bf:
  - 50
  - 46
  redis.commands.redismodules.RedisModuleCommands.cf:
  - 58
  - 54
  redis.commands.redismodules.RedisModuleCommands.cms:
  - 66
  - 62
  redis.commands.redismodules.RedisModuleCommands.ft:
  - 32
  - 28
  redis.commands.redismodules.RedisModuleCommands.json:
  - 24
  - 20
  redis.commands.redismodules.RedisModuleCommands.tdigest:
  - 82
  - 78
  redis.commands.redismodules.RedisModuleCommands.topk:
  - 74
  - 70
  redis.commands.redismodules.RedisModuleCommands.ts:
  - 42
  - 36
  redis.commands.redismodules.RedisModuleCommands.vset:
  - 90
  - 86
  redis.commands.search.AsyncPipeline:
  - 191
  redis.commands.search.AsyncSearch.BatchIndexer:
  - 130
  redis.commands.search.AsyncSearch.BatchIndexer.add_document:
  - 162
  - 146
  - 163
  - 149
  redis.commands.search.AsyncSearch.BatchIndexer.commit:
  - 169
  - 166
  redis.commands.search.AsyncSearch.pipeline:
  - 176
  - 173
  redis.commands.search.Pipeline:
  - 187
  redis.commands.search.Search:
  - 19
  redis.commands.search.Search.BatchIndexer:
  - 25
  redis.commands.search.Search.BatchIndexer.__del__:
  - 40
  - 39
  redis.commands.search.Search.BatchIndexer.__init__:
  - 33
  redis.commands.search.Search.BatchIndexer.add_document:
  - 56
  - 69
  - 53
  - 70
  redis.commands.search.Search.BatchIndexer.add_document_hash:
  - 81
  - 73
  - 82
  - 76
  redis.commands.search.Search.BatchIndexer.commit:
  - 88
  - 85
  redis.commands.search.Search.__init__:
  - 92
  redis.commands.search.Search.pipeline:
  - 115
  - 118
  redis.commands.search._util.to_string:
  - 2
  - 4
  - 5
  redis.commands.search.aggregation:
  - 5
  redis.commands.search.aggregation.AggregateRequest:
  - 91
  redis.commands.search.aggregation.AggregateRequest.__init__:
  - 96
  redis.commands.search.aggregation.AggregateRequest.add_scores:
  - 298
  redis.commands.search.aggregation.AggregateRequest.apply:
  - 176
  - 163
  - 172
  - 174
  redis.commands.search.aggregation.AggregateRequest.build_args:
  - 332
  - 333
  - 335
  - 336
  - 338
  - 339
  - 341
  - 342
  - 344
  - 347
  - 348
  - 349
  - 351
  - 352
  - 353
  - 354
  - 356
  - 357
  - 359
  redis.commands.search.aggregation.AggregateRequest.cursor:
  - 321
  - 322
  - 323
  - 324
  redis.commands.search.aggregation.AggregateRequest.dialect:
  - 364
  redis.commands.search.aggregation.AggregateRequest.filter:
  - 272
  - 281
  - 284
  - 285
  redis.commands.search.aggregation.AggregateRequest.group_by:
  - 139
  - 150
  - 152
  - 153
  - 154
  - 155
  - 156
  - 159
  redis.commands.search.aggregation.AggregateRequest.limit:
  - 181
  - 222
  - 223
  redis.commands.search.aggregation.AggregateRequest.load:
  - 121
  - 130
  - 131
  redis.commands.search.aggregation.AggregateRequest.scorer:
  - 305
  redis.commands.search.aggregation.AggregateRequest.sort_by:
  - 256
  - 257
  - 227
  - 262
  - 263
  - 264
  - 265
  - 266
  - 268
  redis.commands.search.aggregation.AggregateRequest.with_schema:
  - 290
  redis.commands.search.aggregation.AggregateResult.__repr__:
  - 397
  - 398
  redis.commands.search.aggregation.Asc:
  - 75
  redis.commands.search.aggregation.Cursor.build_args:
  - 384
  - 380
  - 381
  - 382
  - 383
  redis.commands.search.aggregation.Desc:
  - 83
  redis.commands.search.aggregation.Limit.build_args:
  - 14
  - 15
  redis.commands.search.aggregation.Reducer:
  - 21
  redis.commands.search.aggregation.Reducer.alias:
  - 49
  - 50
  - 35
  redis.commands.search.aggregation.SortDirection:
  - 64
  redis.commands.search.commands.AsyncSearchCommands:
  - 1057
  - 1171
  - 1189
  redis.commands.search.commands.AsyncSearchCommands.aggregate:
  - 1128
  - 1129
  - 1130
  - 1131
  - 1133
  - 1136
  - 1138
  - 1139
  - 1116
  redis.commands.search.commands.AsyncSearchCommands.config_get:
  - 1194
  - 1204
  - 1205
  redis.commands.search.commands.AsyncSearchCommands.config_set:
  - 1176
  - 1186
  redis.commands.search.commands.AsyncSearchCommands.hybrid_search:
  - 1088
  - 1089
  - 1090
  - 1091
  - 1092
  - 1093
  - 1094
  - 1095
  - 1096
  - 1097
  - 1067
  - 1099
  - 1101
  - 1104
  - 1106
  - 1109
  redis.commands.search.commands.AsyncSearchCommands.info:
  - 1023
  - 1022
  - 1015
  redis.commands.search.commands.AsyncSearchCommands.load_document:
  - 1208
  - 1220
  - 1211
  - 1212
  redis.commands.search.commands.AsyncSearchCommands.search:
  - 1030
  - 1041
  - 1042
  - 1045
  - 1048
  - 1050
  - 1053
  - 1054
  redis.commands.search.commands.AsyncSearchCommands.spellcheck:
  - 1158
  - 1159
  - 1161
  - 1162
  - 1164
  - 1165
  - 1167
  - 1169
  - 1144
  redis.commands.search.commands.AsyncSearchCommands.sugadd:
  - 1223
  - 1232
  - 1233
  - 1235
  - 1236
  - 1237
  - 1238
  - 1239
  - 1241
  - 1243
  redis.commands.search.commands.AsyncSearchCommands.sugget:
  - 1254
  - 1287
  - 1288
  - 1289
  - 1286
  - 1290
  - 1291
  - 1293
  - 1295
  - 1298
  redis.commands.search.commands.SearchCommands:
  - 422
  - 812
  - 366
  - 78
  - 563
  - 442
  - 794
  - 477
  redis.commands.search.commands.SearchCommands._add_document:
  - 317
  - 321
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  - 335
  - 336
  - 338
  - 339
  - 341
  - 342
  - 344
  redis.commands.search.commands.SearchCommands._add_document_hash:
  - 355
  - 356
  - 358
  - 361
  - 362
  - 364
  - 349
  redis.commands.search.commands.SearchCommands._get_aggregate_result:
  - 672
  - 677
  - 684
  - 667
  - 668
  redis.commands.search.commands.SearchCommands._mk_query_args:
  - 520
  - 522
  - 523
  - 526
  - 527
  redis.commands.search.commands.SearchCommands._parse_aggregate:
  - 123
  redis.commands.search.commands.SearchCommands._parse_hybrid_search:
  - 101
  - 102
  - 103
  - 104
  - 105
  - 111
  - 112
  - 113
  - 115
  - 116
  - 119
  redis.commands.search.commands.SearchCommands._parse_info:
  - 88
  - 87
  redis.commands.search.commands.SearchCommands._parse_profile:
  - 128
  - 130
  - 138
  - 127
  redis.commands.search.commands.SearchCommands._parse_results:
  - 81
  - 82
  - 84
  redis.commands.search.commands.SearchCommands._parse_search:
  - 91
  redis.commands.search.commands.SearchCommands._parse_spellcheck:
  - 142
  - 145
  - 146
  - 149
  - 151
  - 153
  redis.commands.search.commands.SearchCommands._parse_syndump:
  - 181
  redis.commands.search.commands.SearchCommands.add_document:
  - 409
  - 381
  redis.commands.search.commands.SearchCommands.add_document_hash:
  - 426
  - 438
  redis.commands.search.commands.SearchCommands.aggregate:
  - 649
  - 650
  - 651
  - 652
  - 654
  - 657
  - 659
  - 660
  - 637
  redis.commands.search.commands.SearchCommands.aliasadd:
  - 843
  - 853
  redis.commands.search.commands.SearchCommands.aliasdel:
  - 869
  - 878
  redis.commands.search.commands.SearchCommands.aliasupdate:
  - 856
  - 866
  redis.commands.search.commands.SearchCommands.alter_schema_add:
  - 273
  - 275
  - 260
  - 277
  redis.commands.search.commands.SearchCommands.batch_indexer:
  - 184
  - 187
  redis.commands.search.commands.SearchCommands.config_get:
  - 817
  - 826
  - 827
  redis.commands.search.commands.SearchCommands.config_set:
  - 809
  - 799
  redis.commands.search.commands.SearchCommands.create_index:
  - 257
  - 202
  - 229
  - 231
  - 232
  - 233
  - 234
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  - 248
  - 249
  - 251
  - 253
  - 255
  redis.commands.search.commands.SearchCommands.delete_document:
  - 454
  - 455
  - 457
  - 458
  - 460
  - 444
  redis.commands.search.commands.SearchCommands.dict_add:
  - 755
  - 765
  - 766
  redis.commands.search.commands.SearchCommands.dict_del:
  - 769
  - 779
  - 780
  redis.commands.search.commands.SearchCommands.dict_dump:
  - 792
  - 783
  redis.commands.search.commands.SearchCommands.dropindex:
  - 295
  - 299
  - 300
  - 302
  - 280
  redis.commands.search.commands.SearchCommands.explain:
  - 626
  - 627
  - 622
  redis.commands.search.commands.SearchCommands.get:
  - 488
  - 479
  redis.commands.search.commands.SearchCommands.get_params_args:
  - 512
  - 504
  - 507
  - 508
  - 509
  - 510
  - 511
  redis.commands.search.commands.SearchCommands.hybrid_search:
  - 610
  - 605
  - 612
  - 615
  - 594
  - 595
  - 596
  - 597
  - 598
  - 599
  - 600
  - 601
  - 602
  - 603
  - 573
  - 607
  redis.commands.search.commands.SearchCommands.info:
  - 498
  - 491
  - 499
  redis.commands.search.commands.SearchCommands.load_document:
  - 466
  - 467
  - 475
  - 463
  redis.commands.search.commands.SearchCommands.profile:
  - 704
  - 706
  - 707
  - 708
  - 710
  - 712
  - 713
  - 715
  - 716
  - 720
  - 722
  - 723
  - 692
  redis.commands.search.commands.SearchCommands.search:
  - 547
  - 548
  - 551
  - 554
  - 556
  - 559
  - 560
  - 536
  redis.commands.search.commands.SearchCommands.spellcheck:
  - 741
  - 742
  - 744
  - 745
  - 747
  - 748
  - 750
  - 752
  - 727
  redis.commands.search.commands.SearchCommands.sugadd:
  - 896
  - 897
  - 899
  - 901
  - 881
  - 890
  - 891
  - 893
  - 894
  - 895
  redis.commands.search.commands.SearchCommands.sugdel:
  - 912
  - 918
  redis.commands.search.commands.SearchCommands.sugget:
  - 929
  - 962
  - 963
  - 964
  - 961
  - 965
  - 966
  - 968
  - 970
  - 973
  redis.commands.search.commands.SearchCommands.suglen:
  - 904
  - 909
  redis.commands.search.commands.SearchCommands.syndump:
  - 1001
  - 1010
  - 1009
  redis.commands.search.commands.SearchCommands.synupdate:
  - 995
  - 996
  - 997
  - 998
  - 977
  redis.commands.search.commands.SearchCommands.tagvals:
  - 840
  - 830
  redis.commands.search.document.Document:
  - 2
  redis.commands.search.document.Document.__getitem__:
  - 16
  redis.commands.search.document.Document.__init__:
  - 9
  - 10
  redis.commands.search.field.Field:
  - 7
  redis.commands.search.field.Field.__init__:
  - 64
  - 34
  - 48
  - 52
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 62
  redis.commands.search.field.Field.append_arg:
  - 68
  redis.commands.search.field.Field.redis_args:
  - 72
  redis.commands.search.field.GeoField:
  - 137
  redis.commands.search.field.GeoField.__init__:
  - 142
  redis.commands.search.field.GeoShapeField:
  - 122
  redis.commands.search.field.GeoShapeField.__init__:
  - 131
  - 132
  - 133
  redis.commands.search.field.NumericField:
  - 113
  redis.commands.search.field.NumericField.__init__:
  - 118
  redis.commands.search.field.TagField:
  - 146
  redis.commands.search.field.TagField.__init__:
  - 163
  - 164
  - 165
  - 166
  - 168
  redis.commands.search.field.TextField:
  - 80
  redis.commands.search.field.TextField.__init__:
  - 96
  - 98
  - 99
  - 100
  - 106
  - 107
  - 108
  - 109
  redis.commands.search.field.VectorField:
  - 172
  redis.commands.search.field.VectorField.__init__:
  - 192
  - 194
  - 197
  - 205
  - 206
  - 208
  - 178
  - 191
  redis.commands.search.hybrid_query.CombineResultsMethod.__init__:
  - 208
  redis.commands.search.hybrid_query.CombineResultsMethod.get_args:
  - 233
  - 234
  - 235
  - 236
  redis.commands.search.hybrid_query.HybridCursorQuery.__init__:
  - 372
  redis.commands.search.hybrid_query.HybridCursorQuery.build_args:
  - 384
  - 385
  - 386
  - 387
  redis.commands.search.hybrid_query.HybridFilter.__init__:
  - 366
  - 359
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.__init__:
  - 243
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.apply:
  - 296
  - 298
  - 299
  - 300
  - 302
  - 287
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.build_args:
  - 334
  - 335
  - 336
  - 337
  - 338
  - 339
  - 340
  - 342
  - 343
  - 344
  - 345
  - 346
  - 347
  - 348
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.filter:
  - 314
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.group_by:
  - 264
  - 274
  - 276
  - 277
  - 278
  - 279
  - 280
  - 281
  - 283
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.limit:
  - 329
  - 326
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.load:
  - 257
  - 258
  - 259
  - 260
  - 254
  redis.commands.search.hybrid_query.HybridPostProcessingConfig.sort_by:
  - 307
  redis.commands.search.hybrid_query.HybridQuery.__init__:
  - 183
  redis.commands.search.hybrid_query.HybridQuery.get_args:
  - 195
  - 196
  redis.commands.search.hybrid_query.HybridSearchQuery.__init__:
  - 23
  redis.commands.search.hybrid_query.HybridSearchQuery.get_args:
  - 64
  - 65
  - 66
  - 67
  redis.commands.search.hybrid_query.HybridSearchQuery.query_string:
  - 40
  redis.commands.search.hybrid_query.HybridSearchQuery.scorer:
  - 44
  redis.commands.search.hybrid_query.HybridSearchQuery.yield_score_as:
  - 56
  redis.commands.search.hybrid_query.HybridVsimQuery.__init__:
  - 112
  - 111
  - 87
  redis.commands.search.hybrid_query.HybridVsimQuery.filter:
  - 149
  redis.commands.search.hybrid_query.HybridVsimQuery.get_args:
  - 167
  - 168
  - 169
  - 170
  - 171
  - 172
  redis.commands.search.hybrid_query.HybridVsimQuery.vector_data:
  - 123
  redis.commands.search.hybrid_query.HybridVsimQuery.vector_field:
  - 119
  redis.commands.search.hybrid_query.HybridVsimQuery.vsim_method_params:
  - 131
  - 140
  - 141
  - 142
  - 143
  redis.commands.search.hybrid_query.HybridVsimQuery.yield_score_as:
  - 159
  redis.commands.search.hybrid_result.HybridCursorResult.__init__:
  - 20
  redis.commands.search.hybrid_result.HybridResult:
  - 7
  redis.commands.search.index_definition.IndexDefinition:
  - 12
  redis.commands.search.index_definition.IndexDefinition.__init__:
  - 32
  - 27
  - 28
  - 29
  - 30
  - 31
  redis.commands.search.index_definition.IndexDefinition._append_filter:
  - 52
  - 53
  - 54
  - 55
  redis.commands.search.index_definition.IndexDefinition._append_index_type:
  - 35
  - 36
  - 37
  - 38
  - 39
  - 40
  redis.commands.search.index_definition.IndexDefinition._append_language:
  - 64
  - 58
  - 59
  - 60
  - 61
  - 62
  - 63
  redis.commands.search.index_definition.IndexDefinition._append_payload:
  - 76
  - 77
  - 78
  - 79
  redis.commands.search.index_definition.IndexDefinition._append_prefix:
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  redis.commands.search.index_definition.IndexDefinition._append_score:
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  redis.commands.search.index_definition.IndexType:
  - 5
  redis.commands.search.profile_information.ProfileInformation:
  - 5
  redis.commands.search.query.Filter.__init__:
  - 344
  redis.commands.search.query.GeoFilter.__init__:
  - 376
  redis.commands.search.query.NumericFilter.__init__:
  - 364
  redis.commands.search.query.Query:
  - 7
  redis.commands.search.query.Query.__init__:
  - 17
  - 33
  redis.commands.search.query.Query._get_args_tags:
  - 200
  - 201
  - 202
  - 203
  - 204
  - 206
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 215
  - 216
  - 217
  - 219
  - 220
  - 221
  - 222
  - 223
  - 225
  - 227
  - 229
  - 230
  - 231
  - 232
  - 233
  - 235
  - 236
  - 238
  - 240
  - 242
  - 244
  redis.commands.search.query.Query._mk_field_list:
  - 85
  - 87
  redis.commands.search.query.Query.add_filter:
  - 310
  - 302
  redis.commands.search.query.Query.dialect:
  - 333
  redis.commands.search.query.Query.expander:
  - 324
  redis.commands.search.query.Query.get_args:
  - 193
  - 191
  redis.commands.search.query.Query.highlight:
  - 130
  - 138
  - 139
  - 140
  - 141
  - 142
  redis.commands.search.query.Query.in_order:
  - 169
  redis.commands.search.query.Query.language:
  - 148
  redis.commands.search.query.Query.limit_fields:
  - 298
  - 292
  redis.commands.search.query.Query.limit_ids:
  - 52
  redis.commands.search.query.Query.no_content:
  - 268
  redis.commands.search.query.Query.no_stopwords:
  - 273
  redis.commands.search.query.Query.paging:
  - 250
  redis.commands.search.query.Query.query_string:
  - 48
  redis.commands.search.query.Query.return_field:
  - 80
  - 78
  - 70
  redis.commands.search.query.Query.return_fields:
  - 58
  - 59
  - 60
  redis.commands.search.query.Query.scorer:
  - 178
  redis.commands.search.query.Query.slop:
  - 157
  redis.commands.search.query.Query.sort_by:
  - 320
  - 314
  redis.commands.search.query.Query.summarize:
  - 96
  - 113
  - 114
  - 115
  - 117
  - 118
  - 119
  - 120
  - 121
  redis.commands.search.query.Query.timeout:
  - 164
  redis.commands.search.query.Query.verbatim:
  - 261
  redis.commands.search.query.Query.with_payloads:
  - 282
  redis.commands.search.query.Query.with_scores:
  - 287
  redis.commands.search.querystring.BaseNode.__init__:
  - 234
  - 235
  redis.commands.search.querystring.DisjunctNode:
  - 260
  redis.commands.search.querystring.DisjunctNode.to_string:
  - 266
  - 267
  - 268
  redis.commands.search.querystring.DistjunctUnion:
  - 275
  redis.commands.search.querystring.IntersectNode:
  - 242
  redis.commands.search.querystring.Node.__init__:
  - 193
  - 195
  - 197
  - 198
  - 141
  - 186
  - 187
  - 188
  - 189
  - 190
  - 191
  redis.commands.search.querystring.Node.__str__:
  - 229
  redis.commands.search.querystring.Node._should_use_paren:
  - 224
  - 226
  redis.commands.search.querystring.Node.join_fields:
  - 201
  - 202
  - 203
  - 204
  - 205
  redis.commands.search.querystring.Node.to_node:
  - 210
  - 212
  redis.commands.search.querystring.Node.to_string:
  - 219
  - 221
  redis.commands.search.querystring.OptionalNode:
  - 286
  redis.commands.search.querystring.OptionalNode.to_string:
  - 292
  - 293
  - 294
  redis.commands.search.querystring.RangeValue.__init__:
  - 96
  - 92
  - 94
  redis.commands.search.querystring.RangeValue.to_string:
  - 101
  redis.commands.search.querystring.ScalarValue.__init__:
  - 112
  redis.commands.search.querystring.TagValue.to_string:
  - 125
  redis.commands.search.querystring.UnionNode:
  - 251
  redis.commands.search.querystring.Value.__str__:
  - 85
  redis.commands.search.querystring.Value.combinable:
  - 66
  redis.commands.search.querystring.Value.make_value:
  - 74
  - 77
  - 79
  redis.commands.search.querystring.between:
  - 18
  - 15
  redis.commands.search.querystring.disjunct:
  - 309
  redis.commands.search.querystring.disjunct_union:
  - 313
  redis.commands.search.querystring.equal:
  - 25
  - 22
  redis.commands.search.querystring.ge:
  - 50
  - 53
  redis.commands.search.querystring.geo:
  - 57
  - 60
  redis.commands.search.querystring.gt:
  - 43
  - 46
  redis.commands.search.querystring.intersect:
  - 301
  redis.commands.search.querystring.le:
  - 36
  - 39
  redis.commands.search.querystring.lt:
  - 32
  - 29
  redis.commands.search.querystring.querystring:
  - 317
  redis.commands.search.querystring.tags:
  - 9
  - 2
  - 11
  redis.commands.search.querystring.union:
  - 305
  redis.commands.search.reducers.FieldOnlyReducer:
  - 7
  redis.commands.search.reducers.FieldOnlyReducer.__init__:
  - 10
  redis.commands.search.reducers.avg:
  - 59
  redis.commands.search.reducers.avg.__init__:
  - 66
  redis.commands.search.reducers.count:
  - 15
  redis.commands.search.reducers.count.__init__:
  - 22
  redis.commands.search.reducers.count_distinct:
  - 81
  redis.commands.search.reducers.count_distinct.__init__:
  - 89
  redis.commands.search.reducers.count_distinctish:
  - 93
  redis.commands.search.reducers.first_value:
  - 127
  redis.commands.search.reducers.first_value.__init__:
  - 160
  - 162
  - 134
  - 149
  - 150
  - 151
  - 152
  - 154
  - 156
  redis.commands.search.reducers.max:
  - 48
  redis.commands.search.reducers.max.__init__:
  - 55
  redis.commands.search.reducers.min:
  - 37
  redis.commands.search.reducers.min.__init__:
  - 44
  redis.commands.search.reducers.quantile:
  - 103
  redis.commands.search.reducers.quantile.__init__:
  - 111
  redis.commands.search.reducers.random_sample:
  - 167
  redis.commands.search.reducers.random_sample.__init__:
  - 180
  - 181
  - 174
  redis.commands.search.reducers.stddev:
  - 116
  redis.commands.search.reducers.stddev.__init__:
  - 123
  redis.commands.search.reducers.sum:
  - 26
  redis.commands.search.reducers.sum.__init__:
  - 33
  redis.commands.search.reducers.tolist:
  - 70
  redis.commands.search.reducers.tolist.__init__:
  - 77
  redis.commands.search.result.Result:
  - 8
  redis.commands.search.result.Result.__init__:
  - 34
  - 66
  - 36
  - 38
  - 43
  - 44
  - 45
  - 48
  - 80
  - 82
  - 51
  - 52
  - 84
  - 22
  - 55
  - 56
  - 57
  - 63
  redis.commands.search.suggestion.Suggestion:
  - 7
  redis.commands.search.suggestion.Suggestion.__init__:
  - 16
  - 15
  redis.commands.search.suggestion.SuggestionParser:
  - 24
  redis.commands.search.suggestion.SuggestionParser.__init__:
  - 41
  - 34
  - 38
  redis.commands.search.suggestion.SuggestionParser.__iter__:
  - 51
  - 53
  - 55
  redis.commands.sentinel.AsyncSentinelCommands.sentinel:
  - 128
  - 129
  redis.commands.sentinel.SentinelCommands:
  - 5
  redis.commands.sentinel.SentinelCommands.sentinel:
  - 11
  - 12
  redis.commands.sentinel.SentinelCommands.sentinel_ckquorum:
  - 97
  - 105
  redis.commands.sentinel.SentinelCommands.sentinel_failover:
  - 88
  - 94
  redis.commands.sentinel.SentinelCommands.sentinel_flushconfig:
  - 123
  - 108
  redis.commands.sentinel.SentinelCommands.sentinel_get_master_addr_by_name:
  - 19
  - 15
  redis.commands.sentinel.SentinelCommands.sentinel_master:
  - 27
  - 31
  redis.commands.sentinel.SentinelCommands.sentinel_masters:
  - 43
  - 36
  redis.commands.sentinel.SentinelCommands.sentinel_monitor:
  - 46
  - 47
  redis.commands.sentinel.SentinelCommands.sentinel_remove:
  - 50
  - 51
  redis.commands.sentinel.SentinelCommands.sentinel_reset:
  - 85
  - 77
  redis.commands.sentinel.SentinelCommands.sentinel_sentinels:
  - 58
  - 54
  redis.commands.sentinel.SentinelCommands.sentinel_set:
  - 64
  - 63
  redis.commands.sentinel.SentinelCommands.sentinel_slaves:
  - 74
  - 67
  redis.commands.timeseries.ClusterPipeline:
  - 104
  redis.commands.timeseries.Pipeline:
  - 108
  redis.commands.timeseries.TimeSeries:
  - 26
  redis.commands.timeseries.TimeSeries.__init__:
  - 64
  - 65
  - 34
  - 59
  - 60
  - 62
  redis.commands.timeseries.TimeSeries.pipeline:
  - 68
  - 80
  - 81
  - 87
  - 94
  redis.commands.timeseries.commands.TimeSeriesCommands:
  - 26
  redis.commands.timeseries.commands.TimeSeriesCommands.__mrange_params:
  - 736
  - 737
  - 738
  - 739
  - 740
  - 741
  - 742
  - 744
  - 731
  - 733
  - 734
  - 735
  redis.commands.timeseries.commands.TimeSeriesCommands.__range_params:
  - 548
  - 550
  - 551
  - 552
  - 553
  - 554
  - 555
  - 556
  - 557
  redis.commands.timeseries.commands.TimeSeriesCommands._append_aggregation:
  - 1067
  - 1068
  - 1069
  redis.commands.timeseries.commands.TimeSeriesCommands._append_align:
  - 1057
  - 1058
  - 1059
  redis.commands.timeseries.commands.TimeSeriesCommands._append_bucket_timestamp:
  - 1112
  - 1113
  - 1111
  redis.commands.timeseries.commands.TimeSeriesCommands._append_chunk_size:
  - 1073
  - 1074
  - 1075
  redis.commands.timeseries.commands.TimeSeriesCommands._append_count:
  - 1045
  - 1046
  - 1047
  redis.commands.timeseries.commands.TimeSeriesCommands._append_duplicate_policy:
  - 1080
  - 1081
  - 1079
  redis.commands.timeseries.commands.TimeSeriesCommands._append_empty:
  - 1117
  - 1118
  - 1119
  redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_ts:
  - 1091
  - 1092
  - 1093
  redis.commands.timeseries.commands.TimeSeriesCommands._append_filer_by_value:
  - 1099
  - 1100
  - 1101
  redis.commands.timeseries.commands.TimeSeriesCommands._append_groupby_reduce:
  - 1025
  - 1026
  - 1027
  redis.commands.timeseries.commands.TimeSeriesCommands._append_insertion_filters:
  - 1128
  - 1133
  - 1134
  - 1127
  redis.commands.timeseries.commands.TimeSeriesCommands._append_labels:
  - 1037
  - 1038
  - 1039
  - 1040
  - 1041
  redis.commands.timeseries.commands.TimeSeriesCommands._append_latest:
  - 1105
  - 1106
  - 1107
  redis.commands.timeseries.commands.TimeSeriesCommands._append_on_duplicate:
  - 1085
  - 1086
  - 1087
  redis.commands.timeseries.commands.TimeSeriesCommands._append_retention:
  - 1032
  - 1033
  - 1031
  redis.commands.timeseries.commands.TimeSeriesCommands._append_timestamp:
  - 1051
  - 1052
  - 1053
  redis.commands.timeseries.commands.TimeSeriesCommands._append_uncompressed:
  - 1000
  - 1001
  - 1002
  redis.commands.timeseries.commands.TimeSeriesCommands._append_with_labels:
  - 1010
  - 1011
  - 1016
  - 1017
  - 1018
  - 1019
  redis.commands.timeseries.commands.TimeSeriesCommands.add:
  - 242
  - 243
  - 244
  - 245
  - 246
  - 183
  - 250
  - 247
  - 252
  redis.commands.timeseries.commands.TimeSeriesCommands.alter:
  - 160
  - 161
  - 162
  - 163
  - 167
  - 110
  - 159
  redis.commands.timeseries.commands.TimeSeriesCommands.create:
  - 98
  - 39
  - 89
  - 90
  - 91
  - 92
  - 93
  - 94
  redis.commands.timeseries.commands.TimeSeriesCommands.createrule:
  - 518
  - 519
  - 520
  - 522
  - 497
  redis.commands.timeseries.commands.TimeSeriesCommands.decrby:
  - 388
  - 455
  - 456
  - 457
  - 458
  - 459
  - 460
  - 461
  - 465
  redis.commands.timeseries.commands.TimeSeriesCommands.delete:
  - 468
  - 487
  redis.commands.timeseries.commands.TimeSeriesCommands.deleterule:
  - 530
  - 525
  redis.commands.timeseries.commands.TimeSeriesCommands.get:
  - 936
  - 947
  - 948
  redis.commands.timeseries.commands.TimeSeriesCommands.incrby:
  - 296
  - 363
  - 364
  - 365
  - 366
  - 367
  - 368
  - 369
  - 373
  redis.commands.timeseries.commands.TimeSeriesCommands.info:
  - 988
  - 983
  redis.commands.timeseries.commands.TimeSeriesCommands.madd:
  - 281
  - 279
  - 278
  - 255
  redis.commands.timeseries.commands.TimeSeriesCommands.mget:
  - 976
  - 977
  - 978
  - 980
  - 957
  redis.commands.timeseries.commands.TimeSeriesCommands.mrange:
  - 819
  - 839
  - 767
  redis.commands.timeseries.commands.TimeSeriesCommands.mrevrange:
  - 913
  - 861
  - 933
  redis.commands.timeseries.commands.TimeSeriesCommands.queryindex:
  - 996
  - 991
  redis.commands.timeseries.commands.TimeSeriesCommands.range:
  - 577
  - 618
  - 633
  redis.commands.timeseries.commands.TimeSeriesCommands.revrange:
  - 651
  - 709
  - 694
  redis.commands.timeseries.info.TSInfo:
  - 6
  redis.commands.timeseries.info.TSInfo.__getitem__:
  - 91
  redis.commands.timeseries.info.TSInfo.__init__:
  - 64
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 77
  - 79
  - 81
  - 82
  - 27
  - 62
  - 63
  redis.commands.timeseries.info.TSInfo.get:
  - 86
  redis.commands.timeseries.utils.list_to_dict:
  - 5
  redis.commands.timeseries.utils.parse_get:
  - 25
  - 22
  - 23
  redis.commands.timeseries.utils.parse_m_get:
  - 32
  - 33
  - 35
  - 44
  - 29
  - 31
  redis.commands.timeseries.utils.parse_m_get.<lambda1>:
  - 44
  redis.commands.timeseries.utils.parse_m_range:
  - 16
  - 17
  - 18
  - 14
  redis.commands.timeseries.utils.parse_m_range.<lambda1>:
  - 18
  redis.commands.timeseries.utils.parse_range:
  - 9
  - 10
  redis.commands.vectorset.VectorSet.__init__:
  - 32
  - 40
  - 41
  - 43
  - 45
  - 46
  - 23
  - 28
  redis.commands.vectorset.VectorSet.__init__.<lambda1>:
  - 32
  - 28
  redis.commands.vectorset.commands.CallbacksOptions:
  - 42
  redis.commands.vectorset.commands.QuantizationOptions:
  - 34
  redis.commands.vectorset.commands.VectorSetCommands:
  - 52
  redis.commands.vectorset.commands.VectorSetCommands.vadd:
  - 128
  - 130
  - 66
  - 93
  - 97
  - 98
  - 101
  - 102
  - 104
  - 105
  - 106
  - 108
  - 110
  - 111
  - 113
  - 114
  - 116
  - 117
  - 119
  - 120
  - 122
  - 125
  - 127
  redis.commands.vectorset.commands.VectorSetCommands.vcard:
  - 244
  - 237
  redis.commands.vectorset.commands.VectorSetCommands.vdim:
  - 234
  - 223
  redis.commands.vectorset.commands.VectorSetCommands.vemb:
  - 260
  - 294
  - 271
  - 273
  - 276
  - 277
  - 280
  - 281
  - 284
  redis.commands.vectorset.commands.VectorSetCommands.vgetattr:
  - 365
  - 357
  redis.commands.vectorset.commands.VectorSetCommands.vinfo:
  - 328
  - 333
  redis.commands.vectorset.commands.VectorSetCommands.vlinks:
  - 321
  - 322
  - 325
  - 306
  - 319
  redis.commands.vectorset.commands.VectorSetCommands.vrandmember:
  - 390
  - 391
  - 392
  - 393
  - 372
  redis.commands.vectorset.commands.VectorSetCommands.vrange:
  - 422
  - 421
  - 398
  - 423
  redis.commands.vectorset.commands.VectorSetCommands.vrem:
  - 252
  - 247
  redis.commands.vectorset.commands.VectorSetCommands.vsetattr:
  - 352
  - 338
  - 344
  - 346
  - 348
  redis.commands.vectorset.commands.VectorSetCommands.vsim:
  - 146
  - 173
  - 179
  - 180
  - 181
  - 182
  - 183
  - 185
  - 187
  - 188
  - 191
  - 192
  - 195
  - 196
  - 199
  - 200
  - 202
  - 203
  - 205
  - 206
  - 208
  - 209
  - 211
  - 212
  - 214
  - 215
  - 217
  - 218
  - 220
  redis.commands.vectorset.utils.parse_vemb_result:
  - 32
  - 36
  - 38
  - 8
  - 41
  - 16
  - 19
  - 22
  - 23
  - 27
  - 28
  - 29
  redis.commands.vectorset.utils.parse_vlinks_result:
  - 64
  - 66
  - 47
  - 54
  - 57
  - 61
  - 63
  redis.commands.vectorset.utils.parse_vsim_result:
  - 75
  - 85
  - 88
  - 89
  - 92
  - 96
  - 99
  - 100
  - 101
  - 102
  - 104
  - 108
  - 109
  - 111
  - 112
  - 113
  - 114
  - 119
  - 120
  - 121
  - 125
  redis.connection:
  - 71
  - 78
  - 88
  - 91
  - 2111
  redis.connection.AbstractConnection:
  - 730
  - 732
  redis.connection.AbstractConnection.__del__:
  - 896
  redis.connection.AbstractConnection.__init__:
  - 775
  - 794
  - 801
  - 802
  - 805
  - 810
  - 816
  - 820
  - 823
  - 824
  - 826
  - 828
  - 829
  - 830
  - 833
  - 834
  - 836
  - 838
  - 842
  - 850
  - 856
  - 860
  - 867
  - 869
  - 873
  redis.connection.AbstractConnection.__repr__:
  - 887
  redis.connection.AbstractConnection._construct_command_packer:
  - 904
  - 906
  - 901
  - 903
  redis.connection.AbstractConnection._error_message:
  - 1001
  redis.connection.AbstractConnection._ping_failed:
  - 1172
  - 1173
  redis.connection.AbstractConnection._send_ping:
  - 1168
  - 1166
  - 1167
  redis.connection.AbstractConnection.can_read:
  - 1219
  - 1221
  - 1222
  - 1224
  - 1227
  - 1230
  redis.connection.AbstractConnection.check_health:
  - 1176
  - 1177
  - 1178
  redis.connection.AbstractConnection.connect:
  - 946
  - 947
  - 950
  - 943
  redis.connection.AbstractConnection.connect.<lambda1>:
  - 947
  redis.connection.AbstractConnection.connect.<lambda2>:
  - 950
  redis.connection.AbstractConnection.connect_check_health:
  - 960
  - 961
  - 964
  - 988
  - 972
  - 974
  - 977
  - 980
  - 986
  - 987
  - 956
  - 989
  - 990
  - 959
  redis.connection.AbstractConnection.connect_check_health.<lambda1>:
  - 961
  redis.connection.AbstractConnection.connect_check_health.<lambda2>:
  - 961
  redis.connection.AbstractConnection.deregister_connect_callback:
  - 921
  - 927
  redis.connection.AbstractConnection.disconnect:
  - 1154
  - 1123
  - 1124
  - 1129
  - 1131
  - 1134
  - 1136
  - 1141
  - 1145
  - 1150
  redis.connection.AbstractConnection.on_connect:
  - 1004
  redis.connection.AbstractConnection.on_connect_check_health:
  - 1024
  - 1027
  - 1028
  - 1032
  - 1035
  - 1040
  - 1043
  - 1046
  - 1052
  - 1053
  - 1055
  - 1059
  - 1060
  - 1061
  - 1064
  - 1065
  - 1066
  - 1067
  - 1068
  - 1069
  - 1076
  - 1079
  - 1080
  - 1086
  - 1091
  - 1092
  - 1099
  - 1104
  - 1105
  - 1112
  - 1117
  - 1118
  - 1119
  - 1007
  - 1008
  - 1013
  - 1016
  - 1018
  - 1022
  - 1023
  redis.connection.AbstractConnection.pack_command:
  - 1278
  - 1279
  redis.connection.AbstractConnection.pack_commands:
  - 1282
  - 1288
  - 1289
  - 1290
  - 1291
  - 1294
  - 1296
  - 1297
  - 1301
  - 1302
  - 1304
  - 1307
  - 1308
  redis.connection.AbstractConnection.re_auth:
  - 1326
  - 1327
  - 1329
  - 1330
  - 1332
  redis.connection.AbstractConnection.read_response:
  - 1250
  - 1252
  - 1253
  - 1256
  - 1257
  - 1263
  - 1264
  - 1267
  - 1268
  - 1270
  - 1240
  - 1242
  - 1245
  - 1246
  redis.connection.AbstractConnection.register_connect_callback:
  - 918
  - 916
  - 909
  - 917
  redis.connection.AbstractConnection.send_command:
  - 1212
  - 1213
  - 1214
  - 1215
  redis.connection.AbstractConnection.send_packed_command:
  - 1185
  - 1186
  - 1188
  - 1190
  - 1191
  - 1193
  - 1196
  - 1197
  - 1208
  - 1181
  - 1182
  - 1183
  redis.connection.AbstractConnection.set_parser:
  - 937
  - 932
  redis.connection.BlockingConnectionPool:
  - 3072
  - 2961
  redis.connection.BlockingConnectionPool.__init__:
  - 3006
  redis.connection.BlockingConnectionPool.disconnect:
  - 3175
  - 3176
  - 3178
  - 3179
  - 3181
  - 3184
  - 3185
  - 3186
  - 3188
  - 3190
  redis.connection.BlockingConnectionPool.get_connection:
  - 3108
  - 3109
  - 3078
  - 3111
  - 3113
  - 3120
  - 3090
  - 3126
  - 3096
  - 3097
  - 3130
  - 3131
  - 3100
  - 3135
  - 3129
  redis.connection.BlockingConnectionPool.make_connection:
  - 3048
  - 3050
  - 3051
  - 3054
  - 3055
  - 3056
  - 3061
  - 3062
  - 3065
  - 3067
  redis.connection.BlockingConnectionPool.release:
  - 3169
  - 3141
  - 3143
  - 3146
  - 3147
  - 3149
  - 3154
  - 3155
  - 3157
  - 3158
  - 3161
  - 3167
  redis.connection.BlockingConnectionPool.reset:
  - 3045
  - 3015
  - 3016
  - 3018
  - 3021
  - 3029
  - 3031
  redis.connection.BlockingConnectionPool.set_in_maintenance:
  - 3210
  redis.connection.CacheProxyConnection.__init__:
  - 1473
  - 1449
  - 1457
  - 1460
  - 1462
  - 1463
  redis.connection.CacheProxyConnection._connect:
  - 1771
  redis.connection.CacheProxyConnection._enable_tracking_callback:
  - 1777
  - 1778
  - 1779
  redis.connection.CacheProxyConnection._get_maint_notifications_connection_instance:
  - 1717
  - 1725
  redis.connection.CacheProxyConnection._get_socket:
  - 1707
  - 1708
  redis.connection.CacheProxyConnection._host_error:
  - 1774
  redis.connection.CacheProxyConnection._maint_notifications_connection_handler:
  - 1697
  redis.connection.CacheProxyConnection._on_invalidation_callback:
  - 1788
  - 1789
  - 1791
  redis.connection.CacheProxyConnection._process_pending_invalidations:
  - 1782
  - 1783
  redis.connection.CacheProxyConnection.can_read:
  - 1597
  redis.connection.CacheProxyConnection.check_health:
  - 1539
  redis.connection.CacheProxyConnection.connect:
  - 1508
  - 1510
  - 1511
  - 1512
  - 1513
  - 1514
  - 1515
  - 1516
  - 1519
  - 1520
  - 1522
  - 1524
  redis.connection.CacheProxyConnection.deregister_connect_callback:
  - 1483
  redis.connection.CacheProxyConnection.disconnect:
  - 1536
  - 1535
  redis.connection.CacheProxyConnection.get_protocol:
  - 1505
  redis.connection.CacheProxyConnection.get_resolved_ip:
  - 1747
  - 1748
  redis.connection.CacheProxyConnection.getpeername:
  - 1744
  - 1743
  redis.connection.CacheProxyConnection.maintenance_state:
  - 1739
  - 1734
  redis.connection.CacheProxyConnection.mark_for_reconnect:
  - 1661
  redis.connection.CacheProxyConnection.on_connect:
  - 1531
  redis.connection.CacheProxyConnection.pack_command:
  - 1645
  redis.connection.CacheProxyConnection.pack_commands:
  - 1648
  redis.connection.CacheProxyConnection.re_auth:
  - 1658
  redis.connection.CacheProxyConnection.read_response:
  - 1635
  - 1604
  - 1606
  - 1607
  - 1638
  - 1610
  - 1611
  - 1616
  - 1624
  - 1627
  - 1628
  - 1631
  redis.connection.CacheProxyConnection.register_connect_callback:
  - 1480
  redis.connection.CacheProxyConnection.repr_pieces:
  - 1477
  redis.connection.CacheProxyConnection.reset_should_reconnect:
  - 1667
  redis.connection.CacheProxyConnection.reset_tmp_settings:
  - 1768
  - 1767
  redis.connection.CacheProxyConnection.send_command:
  - 1571
  - 1572
  - 1574
  - 1576
  - 1577
  - 1547
  - 1583
  - 1552
  - 1553
  - 1584
  - 1556
  - 1559
  - 1594
  - 1563
  - 1564
  redis.connection.CacheProxyConnection.send_packed_command:
  - 1544
  redis.connection.CacheProxyConnection.set_maint_notifications_cluster_handler_for_connection:
  - 1499
  - 1500
  redis.connection.CacheProxyConnection.set_maint_notifications_pool_handler_for_connection:
  - 1491
  - 1492
  redis.connection.CacheProxyConnection.set_parser:
  - 1486
  redis.connection.CacheProxyConnection.set_re_auth_token:
  - 1655
  redis.connection.CacheProxyConnection.set_tmp_settings:
  - 1760
  - 1759
  redis.connection.CacheProxyConnection.should_reconnect:
  - 1664
  redis.connection.CacheProxyConnection.update_current_socket_timeout:
  - 1752
  - 1751
  redis.connection.Connection:
  - 1356
  redis.connection.Connection.__init__:
  - 1368
  - 1372
  redis.connection.Connection._connect:
  - 1410
  - 1381
  - 1415
  - 1417
  - 1387
  - 1420
  - 1422
  - 1393
  - 1395
  - 1398
  - 1399
  - 1400
  - 1401
  - 1404
  - 1407
  redis.connection.Connection.repr_pieces:
  - 1376
  - 1377
  redis.connection.ConnectionInterface.mark_for_reconnect:
  - 248
  redis.connection.ConnectionInterface.reset_should_reconnect:
  - 263
  redis.connection.ConnectionInterface.should_reconnect:
  - 256
  redis.connection.ConnectionPool:
  - 2800
  - 2580
  redis.connection.ConnectionPool.__init__:
  - 2689
  - 2690
  - 2691
  - 2702
  - 2703
  - 2705
  - 2711
  - 2658
  - 2667
  - 2668
  - 2671
  - 2673
  - 2674
  - 2679
  - 2680
  - 2682
  - 2683
  - 2686
  - 2687
  redis.connection.ConnectionPool.__repr__:
  - 2714
  redis.connection.ConnectionPool._checkpid:
  - 2788
  - 2789
  - 2790
  - 2795
  - 2796
  - 2798
  redis.connection.ConnectionPool._mock:
  - 2952
  redis.connection.ConnectionPool.close:
  - 2915
  - 2916
  redis.connection.ConnectionPool.disconnect:
  - 2912
  - 2895
  - 2902
  - 2904
  - 2905
  - 2911
  redis.connection.ConnectionPool.from_url:
  - 2602
  - 2641
  - 2643
  - 2646
  - 2647
  redis.connection.ConnectionPool.get_connection:
  - 2818
  - 2824
  - 2825
  - 2827
  - 2831
  - 2832
  - 2833
  - 2806
  - 2838
  - 2808
  - 2811
  - 2813
  - 2814
  redis.connection.ConnectionPool.get_encoder:
  - 2848
  - 2843
  - 2845
  - 2846
  - 2847
  redis.connection.ConnectionPool.get_protocol:
  - 2730
  - 2735
  redis.connection.ConnectionPool.make_connection:
  - 2852
  - 2853
  - 2857
  - 2859
  - 2860
  - 2861
  - 2863
  redis.connection.ConnectionPool.re_auth_callback:
  - 2927
  - 2928
  - 2929
  - 2932
  - 2934
  - 2935
  - 2937
  - 2938
  redis.connection.ConnectionPool.re_auth_callback.<lambda1>:
  - 2929
  - 2930
  redis.connection.ConnectionPool.re_auth_callback.<lambda2>:
  - 2932
  redis.connection.ConnectionPool.re_auth_callback.<lambda3>:
  - 2935
  redis.connection.ConnectionPool.re_auth_callback.<lambda4>:
  - 2935
  redis.connection.ConnectionPool.release:
  - 2880
  - 2881
  - 2888
  - 2866
  - 2867
  - 2870
  - 2876
  - 2877
  - 2878
  - 2879
  redis.connection.ConnectionPool.reset:
  - 2740
  - 2751
  redis.connection.ConnectionPool.set_retry:
  - 2920
  - 2922
  - 2919
  redis.connection.ConnectionPoolInterface:
  - 2124
  redis.connection.HiredisRespSerializer.pack:
  - 99
  - 102
  - 103
  - 104
  - 105
  - 107
  - 109
  redis.connection.MaintNotificationsAbstractConnection:
  - 270
  redis.connection.MaintNotificationsAbstractConnection.__init__:
  - 314
  - 323
  - 322
  - 295
  redis.connection.MaintNotificationsAbstractConnection._configure_maintenance_notifications:
  - 418
  - 423
  - 455
  - 456
  - 461
  - 430
  - 462
  - 403
  - 467
  - 437
  - 439
  - 409
  - 444
  - 447
  redis.connection.MaintNotificationsAbstractConnection._enable_maintenance_notifications:
  - 580
  - 581
  - 586
  - 587
  - 593
  - 594
  - 564
  - 565
  - 571
  - 572
  redis.connection.MaintNotificationsAbstractConnection.activate_maint_notifications_handling_if_enabled:
  - 553
  - 555
  - 548
  - 549
  redis.connection.MaintNotificationsAbstractConnection.add_maint_start_notification:
  - 658
  redis.connection.MaintNotificationsAbstractConnection.add_skipped_end_notification:
  - 664
  redis.connection.MaintNotificationsAbstractConnection.get_protocol:
  - 335
  redis.connection.MaintNotificationsAbstractConnection.get_resolved_ip:
  - 642
  - 631
  - 616
  - 617
  - 618
  - 619
  - 630
  - 599
  - 632
  - 635
  - 638
  redis.connection.MaintNotificationsAbstractConnection.getpeername:
  - 674
  - 677
  - 678
  - 679
  redis.connection.MaintNotificationsAbstractConnection.reset_received_notifications:
  - 670
  - 671
  redis.connection.MaintNotificationsAbstractConnection.reset_tmp_settings:
  - 722
  - 724
  redis.connection.MaintNotificationsAbstractConnection.set_maint_notifications_cluster_handler_for_connection:
  - 529
  - 533
  - 518
  - 527
  redis.connection.MaintNotificationsAbstractConnection.set_maint_notifications_pool_handler_for_connection:
  - 490
  - 493
  - 494
  - 501
  - 503
  - 507
  redis.connection.MaintNotificationsAbstractConnection.set_tmp_settings:
  - 712
  - 713
  - 708
  - 711
  redis.connection.MaintNotificationsAbstractConnection.update_current_socket_timeout:
  - 683
  - 684
  - 691
  - 692
  - 693
  redis.connection.MaintNotificationsAbstractConnection.update_parser_timeout:
  - 696
  - 697
  - 698
  - 700
  redis.connection.MaintNotificationsAbstractConnectionPool:
  - 2160
  redis.connection.MaintNotificationsAbstractConnectionPool.__init__:
  - 2179
  - 2181
  - 2182
  - 2184
  - 2185
  - 2189
  - 2193
  - 2199
  - 2203
  redis.connection.MaintNotificationsAbstractConnectionPool._should_update_connection:
  - 2407
  - 2410
  - 2411
  - 2413
  - 2414
  - 2416
  - 2417
  redis.connection.MaintNotificationsAbstractConnectionPool._update_connection_kwargs_for_maint_notifications:
  - 2309
  - 2312
  - 2314
  - 2315
  - 2321
  - 2322
  - 2330
  - 2333
  redis.connection.MaintNotificationsAbstractConnectionPool._update_maint_notifications_configs_for_connections:
  - 2376
  - 2377
  - 2378
  - 2382
  - 2385
  - 2354
  - 2355
  - 2356
  - 2357
  - 2386
  - 2359
  - 2396
  - 2365
  - 2366
  redis.connection.MaintNotificationsAbstractConnectionPool.disconnect_free_connections:
  - 2565
  - 2571
  - 2572
  - 2573
  - 2576
  redis.connection.MaintNotificationsAbstractConnectionPool.maint_notifications_enabled:
  - 2241
  - 2235
  redis.connection.MaintNotificationsAbstractConnectionPool.update_active_connections_for_reconnect:
  - 2548
  - 2554
  - 2555
  - 2556
  - 2559
  redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_kwargs:
  - 2536
  - 2542
  redis.connection.MaintNotificationsAbstractConnectionPool.update_connection_settings:
  - 2435
  - 2438
  - 2441
  - 2445
  - 2446
  - 2448
  - 2449
  - 2451
  - 2452
  - 2457
  redis.connection.MaintNotificationsAbstractConnectionPool.update_connections_settings:
  - 2496
  - 2502
  - 2475
  - 2513
  - 2514
  - 2515
  - 2521
  - 2494
  - 2495
  redis.connection.MaintNotificationsAbstractConnectionPool.update_maint_notifications_config:
  - 2275
  - 2281
  - 2282
  - 2291
  - 2261
  - 2295
  - 2268
  - 2269
  redis.connection.PythonRespSerializer.pack:
  - 128
  - 129
  - 130
  - 131
  - 162
  - 133
  - 136
  - 139
  - 140
  - 141
  - 143
  - 145
  - 146
  - 148
  - 149
  - 152
  - 121
  - 156
  redis.connection.SSLConnection:
  - 1795
  redis.connection.SSLConnection.__init__:
  - 1858
  - 1852
  - 1845
  - 1879
  - 1850
  - 1820
  redis.connection.SSLConnection._connect:
  - 1889
  - 1882
  - 1885
  - 1887
  redis.connection.SSLConnection._wrap_socket_with_ssl:
  - 1922
  - 1925
  - 1927
  - 1928
  - 1929
  - 1932
  - 1938
  - 1941
  - 1947
  - 1948
  - 1949
  - 1950
  - 1954
  - 1959
  - 1960
  - 1961
  - 1962
  - 1963
  - 1967
  - 1970
  - 1971
  - 1893
  - 1902
  - 1905
  - 1906
  - 1908
  - 1909
  - 1911
  - 1912
  - 1917
  redis.connection.UnixDomainSocketConnection:
  - 1979
  redis.connection.UnixDomainSocketConnection.__init__:
  - 1982
  redis.connection.UnixDomainSocketConnection._connect:
  - 1993
  - 1994
  - 1995
  - 1997
  - 2001
  - 2004
  - 2006
  redis.connection.UnixDomainSocketConnection.repr_pieces:
  - 1988
  - 1989
  redis.connection.parse_ssl_verify_flags:
  - 2027
  - 2030
  - 2031
  - 2032
  - 2034
  redis.connection.parse_url:
  - 2055
  - 2056
  - 2057
  - 2058
  - 2065
  - 2068
  - 2069
  - 2070
  - 2071
  - 2072
  - 2074
  - 2080
  - 2081
  - 2082
  - 2083
  - 2086
  - 2087
  - 2088
  - 2092
  - 2093
  - 2094
  - 2095
  - 2099
  - 2101
  - 2105
  redis.connection.to_bool:
  - 2017
  - 2019
  - 2021
  redis.crc.key_slot:
  - 13
  - 18
  - 19
  - 20
  - 21
  - 23
  redis.credentials:
  - 5
  redis.credentials.CredentialProvider:
  - 9
  redis.credentials.CredentialProvider.get_credentials_async:
  - 17
  - 21
  redis.credentials.StreamingCredentialProvider:
  - 25
  redis.credentials.StreamingCredentialProvider.on_next:
  - 31
  redis.credentials.UsernamePasswordCredentialProvider:
  - 50
  redis.credentials.UsernamePasswordCredentialProvider.get_credentials:
  - 60
  redis.credentials.UsernamePasswordCredentialProvider.get_credentials_async:
  - 65
  redis.data_structure:
  - 6
  redis.data_structure.WeightedList:
  - 10
  redis.data_structure.WeightedList.__init__:
  - 16
  redis.data_structure.WeightedList.__iter__:
  - 72
  - 65
  - 68
  - 71
  redis.data_structure.WeightedList.__len__:
  - 76
  redis.data_structure.WeightedList.add:
  - 25
  - 19
  - 22
  - 30
  redis.data_structure.WeightedList.get_by_weight_range:
  - 48
  - 49
  - 44
  - 47
  redis.data_structure.WeightedList.get_top_n:
  - 53
  redis.data_structure.WeightedList.remove:
  - 33
  - 35
  - 36
  - 37
  redis.data_structure.WeightedList.update_weight:
  - 59
  - 60
  - 61
  redis.driver_info.DriverInfo:
  - 57
  - 91
  redis.driver_info.DriverInfo.__post_init__:
  - 98
  - 94
  - 95
  redis.driver_info.DriverInfo.add_upstream_driver:
  - 112
  - 117
  - 119
  - 122
  - 123
  - 125
  - 127
  redis.driver_info.DriverInfo.formatted_name:
  - 139
  - 132
  - 141
  redis.driver_info.DriverInfo.upstream_drivers:
  - 107
  - 102
  redis.driver_info._validate_driver_name:
  - 25
  - 38
  - 39
  redis.driver_info._validate_driver_version:
  - 48
  redis.driver_info._validate_no_invalid_chars:
  - 16
  - 10
  - 18
  redis.driver_info.resolve_driver_info:
  - 168
  - 149
  - 176
  - 175
  redis.event.AfterAsyncClusterInstantiationEvent:
  - 254
  redis.event.AfterConnectionReleasedEvent:
  - 143
  redis.event.AfterPooledConnectionsInstantiationEvent:
  - 165
  redis.event.AfterSingleConnectionInstantiationEvent:
  - 193
  redis.event.AsyncEventListenerInterface:
  - 23
  redis.event.AsyncReAuthConnectionListener:
  - 314
  redis.event.AsyncReAuthConnectionListener.listen:
  - 319
  redis.event.EventDispatcher.__init__:
  - 99
  - 102
  - 103
  - 77
  - 84
  - 87
  - 90
  - 92
  - 93
  - 95
  redis.event.EventDispatcher.dispatch:
  - 107
  - 109
  - 110
  redis.event.EventDispatcher.dispatch_async:
  - 113
  - 114
  - 117
  - 119
  - 120
  redis.event.EventDispatcher.register_listeners:
  - 130
  - 131
  - 132
  - 133
  redis.event.EventDispatcherInterface:
  - 33
  redis.event.EventDispatcherInterface.register_listeners:
  - 54
  redis.event.EventException:
  - 59
  redis.event.EventException.__init__:
  - 66
  redis.event.EventListenerInterface:
  - 13
  redis.event.OnCommandsFailEvent:
  - 279
  redis.event.ReAuthConnectionListener:
  - 305
  redis.event.ReAuthConnectionListener.listen:
  - 310
  redis.event.RegisterReAuthForAsyncClusterNodes._re_auth:
  - 413
  - 414
  redis.event.RegisterReAuthForAsyncClusterNodes.listen:
  - 409
  - 410
  - 407
  redis.event.RegisterReAuthForPooledConnections:
  - 323
  redis.event.RegisterReAuthForPooledConnections._re_auth:
  - 344
  - 343
  redis.event.RegisterReAuthForPooledConnections._re_auth_async:
  - 347
  - 348
  redis.event.RegisterReAuthForPooledConnections.listen:
  - 332
  - 335
  - 336
  - 337
  - 339
  - 340
  redis.event.RegisterReAuthForPubSub._re_auth:
  - 449
  - 450
  - 452
  - 454
  redis.event.RegisterReAuthForPubSub._re_auth_async:
  - 458
  - 459
  - 461
  - 463
  redis.event.RegisterReAuthForPubSub.listen:
  - 429
  - 431
  - 438
  - 439
  - 440
  - 442
  - 443
  redis.event.RegisterReAuthForSingleConnection:
  - 358
  redis.event.RegisterReAuthForSingleConnection._re_auth:
  - 384
  - 386
  - 383
  redis.event.RegisterReAuthForSingleConnection._re_auth_async:
  - 393
  - 390
  - 391
  redis.event.RegisterReAuthForSingleConnection.listen:
  - 367
  - 372
  - 373
  - 374
  - 376
  - 377
  redis.exceptions:
  - 1
  redis.exceptions.AskError:
  - 146
  redis.exceptions.AskError.__init__:
  - 162
  - 165
  - 166
  - 167
  - 168
  redis.exceptions.AuthenticationWrongNumberOfArgsError:
  - 104
  redis.exceptions.ChildDeadlockedError:
  - 98
  redis.exceptions.ClusterCrossSlotError:
  - 183
  redis.exceptions.ClusterDownError:
  - 130
  redis.exceptions.ClusterError:
  - 121
  redis.exceptions.CrossSlotTransactionError:
  - 233
  redis.exceptions.ExternalAuthProviderError:
  - 251
  redis.exceptions.IncorrectPolicyType:
  - 259
  redis.exceptions.InvalidPipelineStack:
  - 242
  redis.exceptions.LockError:
  - 81
  redis.exceptions.LockNotOwnedError:
  - 92
  redis.exceptions.MasterDownError:
  - 203
  redis.exceptions.MaxConnectionsError:
  - 224
  redis.exceptions.MovedError:
  - 193
  redis.exceptions.OutOfMemoryError:
  - 53
  redis.exceptions.RedisClusterException:
  - 113
  redis.exceptions.SlotNotCoveredError:
  - 212
  redis.exceptions.TryAgainError:
  - 172
  redis.http.http_client.HttpClient:
  - 59
  redis.http.http_client.HttpClient.__init__:
  - 107
  - 108
  - 111
  - 114
  - 83
  redis.http.http_client.HttpClient._build_url:
  - 368
  - 364
  - 365
  - 367
  redis.http.http_client.HttpClient._is_retryable_http_error:
  - 317
  - 318
  redis.http.http_client.HttpClient._json_call:
  - 344
  - 342
  - 334
  - 345
  redis.http.http_client.HttpClient._make_request:
  - 305
  - 306
  - 307
  - 308
  - 309
  - 312
  redis.http.http_client.HttpClient._maybe_decompress:
  - 416
  - 419
  - 421
  - 410
  - 412
  - 414
  - 415
  redis.http.http_client.HttpClient._prepare_body:
  - 353
  - 354
  - 351
  redis.http.http_client.HttpClient._prepare_headers:
  - 385
  - 388
  - 389
  - 392
  - 394
  - 398
  - 399
  - 400
  - 379
  - 382
  - 383
  redis.http.http_client.HttpClient.delete:
  - 159
  redis.http.http_client.HttpClient.get:
  - 139
  redis.http.http_client.HttpClient.patch:
  - 225
  - 231
  redis.http.http_client.HttpClient.post:
  - 187
  - 181
  redis.http.http_client.HttpClient.put:
  - 209
  - 203
  redis.http.http_client.HttpClient.request:
  - 257
  - 263
  - 264
  - 271
  - 276
  - 277
  - 278
  - 279
  - 285
  - 288
  - 289
  - 290
  - 291
  - 247
  - 248
  - 249
  - 251
  - 254
  - 255
  redis.http.http_client.HttpClient.request.<lambda1>:
  - 277
  redis.http.http_client.HttpClient.request.<lambda2>:
  - 278
  redis.http.http_client.HttpClient.request.<lambda3>:
  - 279
  redis.http.http_client.HttpError.__init__:
  - 55
  redis.http.http_client.HttpResponse._get_encoding:
  - 41
  - 43
  - 44
  - 45
  - 46
  redis.http.http_client.HttpResponse.json:
  - 37
  redis.http.http_client.HttpResponse.text:
  - 33
  - 34
  redis.int_or_str:
  - 45
  redis.lock:
  - 11
  redis.lock.Lock:
  - 15
  redis.lock.Lock.__enter__:
  - 168
  redis.lock.Lock.__exit__:
  - 184
  - 186
  - 182
  redis.lock.Lock.__init__:
  - 153
  - 90
  - 155
  - 151
  redis.lock.Lock.acquire:
  - 224
  - 225
  - 227
  - 197
  - 230
  - 232
  - 233
  - 235
  - 212
  - 214
  - 215
  - 217
  - 218
  - 219
  - 221
  redis.lock.Lock.do_acquire:
  - 240
  - 243
  - 238
  redis.lock.Lock.do_extend:
  - 305
  - 306
  - 307
  redis.lock.Lock.do_reacquire:
  - 333
  - 334
  - 335
  redis.lock.Lock.do_release:
  - 280
  - 279
  redis.lock.Lock.extend:
  - 288
  - 298
  - 300
  - 302
  redis.lock.Lock.locked:
  - 248
  - 251
  redis.lock.Lock.owned:
  - 257
  - 260
  - 261
  - 262
  - 254
  redis.lock.Lock.reacquire:
  - 320
  - 330
  - 323
  - 325
  redis.lock.Lock.register_scripts:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  redis.lock.Lock.release:
  - 266
  - 276
  - 270
  redis.maint_notifications:
  - 12
  - 38
  - 15
  redis.maint_notifications.EndpointType:
  - 25
  redis.maint_notifications.EndpointType.__str__:
  - 34
  redis.maint_notifications.MaintNotificationsConfig:
  - 596
  redis.maint_notifications.MaintNotificationsConfig.__init__:
  - 612
  redis.maint_notifications.MaintNotificationsConfig.get_endpoint_type:
  - 711
  - 680
  - 685
  - 694
  - 663
  - 696
  - 698
  redis.maint_notifications.MaintNotificationsConfig.is_relaxed_timeouts_enabled:
  - 650
  redis.maint_notifications.MaintNotificationsConnectionHandler.handle_maintenance_completed_notification:
  - 993
  - 980
  - 982
  - 985
  - 986
  - 989
  redis.maint_notifications.MaintNotificationsConnectionHandler.handle_maintenance_start_notification:
  - 960
  - 962
  - 967
  - 971
  - 972
  - 976
  - 958
  redis.maint_notifications.MaintNotificationsConnectionHandler.handle_notification:
  - 942
  - 944
  - 945
  - 948
  - 949
  - 953
  redis.maint_notifications.MaintNotificationsPoolHandler.__init__:
  - 723
  - 724
  redis.maint_notifications.MaintNotificationsPoolHandler.get_handler_for_connection:
  - 734
  redis.maint_notifications.MaintNotificationsPoolHandler.handle_node_moved_notification:
  - 870
  - 902
  - 873
  - 905
  - 876
  - 908
  - 879
  - 884
  - 885
  - 888
  - 889
  - 892
  redis.maint_notifications.MaintNotificationsPoolHandler.handle_node_moving_notification:
  - 768
  - 771
  - 773
  - 775
  - 782
  - 785
  - 788
  - 792
  - 794
  - 803
  - 804
  - 805
  - 807
  - 819
  - 821
  - 825
  - 830
  - 831
  - 837
  - 839
  - 840
  - 842
  - 848
  - 755
  - 757
  - 761
  redis.maint_notifications.MaintNotificationsPoolHandler.handle_notification:
  - 752
  - 747
  - 749
  - 750
  redis.maint_notifications.MaintNotificationsPoolHandler.remove_expired_notifications:
  - 744
  - 742
  - 743
  redis.maint_notifications.MaintNotificationsPoolHandler.run_proactive_reconnect:
  - 865
  - 851
  - 860
  redis.maint_notifications.MaintenanceNotification:
  - 46
  redis.maint_notifications.MaintenanceNotification.__eq__:
  - 95
  redis.maint_notifications.MaintenanceNotification.__hash__:
  - 112
  redis.maint_notifications.MaintenanceNotification.__init__:
  - 59
  - 68
  redis.maint_notifications.MaintenanceNotification.__repr__:
  - 83
  redis.maint_notifications.MaintenanceNotification.is_expired:
  - 72
  - 79
  redis.maint_notifications.NodeFailedOverNotification:
  - 353
  redis.maint_notifications.NodeFailedOverNotification.__eq__:
  - 387
  - 389
  - 383
  redis.maint_notifications.NodeFailedOverNotification.__hash__:
  - 392
  - 399
  redis.maint_notifications.NodeFailedOverNotification.__init__:
  - 366
  redis.maint_notifications.NodeFailedOverNotification.__repr__:
  - 370
  - 378
  redis.maint_notifications.NodeFailingOverNotification:
  - 304
  redis.maint_notifications.NodeFailingOverNotification.__eq__:
  - 337
  - 339
  - 333
  redis.maint_notifications.NodeFailingOverNotification.__hash__:
  - 349
  - 342
  redis.maint_notifications.NodeFailingOverNotification.__init__:
  - 316
  redis.maint_notifications.NodeFailingOverNotification.__repr__:
  - 320
  - 328
  redis.maint_notifications.NodeMigratedNotification:
  - 254
  redis.maint_notifications.NodeMigratedNotification.__eq__:
  - 288
  - 290
  - 284
  redis.maint_notifications.NodeMigratedNotification.__hash__:
  - 300
  - 293
  redis.maint_notifications.NodeMigratedNotification.__init__:
  - 267
  redis.maint_notifications.NodeMigratedNotification.__repr__:
  - 279
  - 271
  redis.maint_notifications.NodeMigratingNotification:
  - 205
  redis.maint_notifications.NodeMigratingNotification.__eq__:
  - 240
  - 234
  - 238
  redis.maint_notifications.NodeMigratingNotification.__hash__:
  - 250
  - 243
  redis.maint_notifications.NodeMigratingNotification.__init__:
  - 217
  redis.maint_notifications.NodeMigratingNotification.__repr__:
  - 229
  - 221
  redis.maint_notifications.NodeMovingNotification:
  - 125
  redis.maint_notifications.NodeMovingNotification.__eq__:
  - 168
  - 172
  redis.maint_notifications.NodeMovingNotification.__hash__:
  - 194
  - 197
  - 198
  - 181
  - 190
  redis.maint_notifications.NodeMovingNotification.__init__:
  - 137
  - 146
  redis.maint_notifications.NodeMovingNotification.__repr__:
  - 152
  - 163
  redis.maint_notifications.OSSMaintNotificationsHandler.__init__:
  - 1004
  - 1005
  - 1006
  redis.maint_notifications.OSSMaintNotificationsHandler.get_handler_for_connection:
  - 1012
  redis.maint_notifications.OSSMaintNotificationsHandler.handle_notification:
  - 1025
  - 1026
  - 1028
  redis.maint_notifications.OSSMaintNotificationsHandler.handle_oss_maintenance_completed_notification:
  - 1033
  - 1036
  - 1047
  - 1048
  - 1060
  - 1061
  - 1064
  - 1065
  - 1066
  - 1069
  - 1070
  - 1072
  - 1073
  - 1074
  - 1075
  - 1076
  - 1081
  - 1086
  - 1087
  - 1088
  - 1091
  - 1092
  - 1095
  - 1100
  - 1101
  - 1103
  - 1105
  - 1109
  - 1110
  - 1113
  - 1114
  redis.maint_notifications.OSSMaintNotificationsHandler.remove_expired_notifications:
  - 1020
  - 1021
  - 1022
  redis.maint_notifications.OSSNodeMigratedNotification:
  - 460
  redis.maint_notifications.OSSNodeMigratedNotification.__eq__:
  - 521
  - 515
  - 519
  redis.maint_notifications.OSSNodeMigratedNotification.__hash__:
  - 531
  - 524
  redis.maint_notifications.OSSNodeMigratedNotification.__init__:
  - 496
  redis.maint_notifications.OSSNodeMigratedNotification.__repr__:
  - 501
  - 510
  redis.maint_notifications.OSSNodeMigratingNotification:
  - 403
  redis.maint_notifications.OSSNodeMigratingNotification.__eq__:
  - 440
  - 444
  - 446
  redis.maint_notifications.OSSNodeMigratingNotification.__hash__:
  - 456
  - 449
  redis.maint_notifications.OSSNodeMigratingNotification.__init__:
  - 421
  redis.maint_notifications.OSSNodeMigratingNotification.__repr__:
  - 426
  - 435
  redis.maint_notifications._is_private_fqdn:
  - 535
  - 550
  - 553
  - 566
  - 567
  redis.maint_notifications.add_debug_log_for_notification:
  - 590
  - 578
  - 588
  - 582
  redis.multidb.circuit.BaseCircuitBreaker:
  - 59
  redis.multidb.circuit.BaseCircuitBreaker.on_state_changed:
  - 98
  redis.multidb.circuit.BaseCircuitBreaker.state:
  - 82
  - 86
  redis.multidb.circuit.CircuitBreaker.database:
  - 49
  - 43
  redis.multidb.circuit.CircuitBreaker.grace_period:
  - 26
  - 20
  redis.multidb.circuit.CircuitBreaker.on_state_changed:
  - 54
  redis.multidb.circuit.CircuitBreaker.state:
  - 37
  - 31
  redis.multidb.circuit.PBCircuitBreakerAdapter.__init__:
  - 131
  - 140
  redis.multidb.circuit.PBCircuitBreakerAdapter.on_state_changed:
  - 144
  - 143
  redis.multidb.circuit.PBListener:
  - 103
  redis.multidb.circuit.PBListener.__init__:
  - 110
  redis.multidb.circuit.PBListener.state_change:
  - 122
  - 124
  - 125
  - 126
  redis.multidb.client:
  - 32
  redis.multidb.client.MultiDBClient:
  - 37
  redis.multidb.client.MultiDBClient.__init__:
  - 64
  - 68
  - 69
  - 43
  - 45
  - 80
  - 81
  - 50
  - 54
  - 60
  redis.multidb.client.MultiDBClient._change_active_database:
  - 206
  redis.multidb.client.MultiDBClient._check_databases_health:
  - 323
  - 328
  - 333
  - 309
  - 313
  - 316
  redis.multidb.client.MultiDBClient._check_db_health:
  - 293
  - 297
  - 299
  - 300
  - 303
  redis.multidb.client.MultiDBClient._on_circuit_state_change_callback:
  - 385
  - 386
  - 372
  - 373
  - 376
  - 377
  - 381
  redis.multidb.client.MultiDBClient._perform_initial_health_check:
  - 352
  - 353
  - 354
  - 358
  - 359
  - 362
  - 364
  - 346
  - 349
  redis.multidb.client.MultiDBClient.add_database:
  - 194
  - 163
  - 196
  - 165
  - 199
  - 168
  - 169
  - 200
  - 201
  - 172
  - 173
  - 174
  - 178
  - 181
  - 150
  - 186
  - 159
  redis.multidb.client.MultiDBClient.add_failure_detector:
  - 248
  - 245
  redis.multidb.client.MultiDBClient.add_health_check:
  - 251
  - 255
  redis.multidb.client.MultiDBClient.close:
  - 389
  - 392
  - 393
  - 394
  - 395
  redis.multidb.client.MultiDBClient.execute_command:
  - 264
  - 258
  - 261
  - 262
  redis.multidb.client.MultiDBClient.get_databases:
  - 117
  redis.multidb.client.MultiDBClient.initialize:
  - 100
  - 102
  - 105
  - 109
  - 85
  - 90
  - 93
  redis.multidb.client.MultiDBClient.pipeline:
  - 267
  - 270
  redis.multidb.client.MultiDBClient.pubsub:
  - 288
  - 282
  - 290
  - 287
  redis.multidb.client.MultiDBClient.remove_database:
  - 216
  - 217
  - 219
  - 213
  redis.multidb.client.MultiDBClient.set_active_database:
  - 128
  - 129
  - 133
  - 136
  - 138
  - 139
  - 123
  redis.multidb.client.MultiDBClient.transaction:
  - 273
  - 276
  - 277
  - 279
  redis.multidb.client.MultiDBClient.update_database_weight:
  - 226
  - 231
  - 232
  - 236
  - 239
  - 240
  - 242
  redis.multidb.client.Pipeline:
  - 403
  redis.multidb.client.Pipeline.__bool__:
  - 427
  redis.multidb.client.Pipeline.__del__:
  - 419
  redis.multidb.client.Pipeline.__exit__:
  - 415
  redis.multidb.client.Pipeline.__len__:
  - 424
  redis.multidb.client.Pipeline.close:
  - 434
  - 435
  redis.multidb.client.Pipeline.execute:
  - 457
  - 458
  - 459
  - 462
  - 463
  - 466
  redis.multidb.client.Pipeline.execute_command:
  - 453
  - 454
  redis.multidb.client.Pipeline.pipeline_execute_command:
  - 449
  - 438
  redis.multidb.client.PubSub:
  - 470
  redis.multidb.client.PubSub.__del__:
  - 493
  redis.multidb.client.PubSub.__init__:
  - 475
  - 483
  redis.multidb.client.PubSub.close:
  - 501
  redis.multidb.client.PubSub.execute_command:
  - 508
  redis.multidb.client.PubSub.get_message:
  - 576
  - 583
  redis.multidb.client.PubSub.get_sharded_message:
  - 592
  - 599
  redis.multidb.client.PubSub.psubscribe:
  - 520
  - 513
  redis.multidb.client.PubSub.punsubscribe:
  - 529
  - 525
  redis.multidb.client.PubSub.reset:
  - 498
  redis.multidb.client.PubSub.run_in_thread:
  - 612
  redis.multidb.client.PubSub.ssubscribe:
  - 560
  - 553
  redis.multidb.client.PubSub.subscribe:
  - 541
  - 534
  redis.multidb.client.PubSub.sunsubscribe:
  - 569
  - 565
  redis.multidb.client.PubSub.unsubscribe:
  - 546
  - 550
  redis.multidb.command_executor.BaseCommandExecutor._schedule_next_fallback:
  - 58
  - 61
  redis.multidb.command_executor.CommandExecutor.auto_fallback_interval:
  - 37
  - 31
  redis.multidb.command_executor.DefaultCommandExecutor.__init__:
  - 193
  - 194
  - 165
  - 178
  - 180
  - 181
  - 186
  redis.multidb.command_executor.DefaultCommandExecutor._check_active_database:
  - 320
  - 325
  - 328
  - 329
  - 317
  redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection:
  - 299
  - 308
  - 309
  - 310
  redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda1>:
  - 309
  redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.<lambda2>:
  - 310
  redis.multidb.command_executor.DefaultCommandExecutor._execute_with_failure_detection.wrapper:
  - 305
  - 306
  redis.multidb.command_executor.DefaultCommandExecutor._on_command_fail:
  - 314
  redis.multidb.command_executor.DefaultCommandExecutor._register_command_execution:
  - 332
  - 333
  redis.multidb.command_executor.DefaultCommandExecutor._setup_event_dispatcher:
  - 336
  - 339
  - 340
  - 341
  - 342
  redis.multidb.command_executor.DefaultCommandExecutor.active_database:
  - 220
  - 221
  - 222
  redis.multidb.command_executor.DefaultCommandExecutor.add_failure_detector:
  - 205
  redis.multidb.command_executor.DefaultCommandExecutor.execute_command:
  - 248
  redis.multidb.command_executor.DefaultCommandExecutor.execute_command.callback:
  - 244
  - 245
  redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline:
  - 260
  redis.multidb.command_executor.DefaultCommandExecutor.execute_pipeline.callback:
  - 256
  - 257
  - 252
  - 253
  - 254
  redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method:
  - 290
  redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_method.callback:
  - 285
  - 286
  - 287
  redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run:
  - 296
  redis.multidb.command_executor.DefaultCommandExecutor.execute_pubsub_run.callback:
  - 294
  redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction:
  - 272
  redis.multidb.command_executor.DefaultCommandExecutor.execute_transaction.callback:
  - 266
  - 269
  redis.multidb.command_executor.DefaultCommandExecutor.pubsub:
  - 281
  redis.multidb.command_executor.DefaultCommandExecutor.pubsub.callback:
  - 276
  - 277
  redis.multidb.command_executor.SyncCommandExecutor.active_database:
  - 93
  - 87
  redis.multidb.command_executor.SyncCommandExecutor.active_pubsub:
  - 105
  - 99
  redis.multidb.command_executor.SyncCommandExecutor.add_failure_detector:
  - 81
  redis.multidb.command_executor.SyncCommandExecutor.command_retry:
  - 117
  redis.multidb.command_executor.SyncCommandExecutor.databases:
  - 70
  redis.multidb.command_executor.SyncCommandExecutor.execute_command:
  - 127
  redis.multidb.command_executor.SyncCommandExecutor.execute_pipeline:
  - 132
  redis.multidb.command_executor.SyncCommandExecutor.execute_pubsub_method:
  - 144
  redis.multidb.command_executor.SyncCommandExecutor.execute_pubsub_run:
  - 149
  redis.multidb.command_executor.SyncCommandExecutor.execute_transaction:
  - 139
  redis.multidb.command_executor.SyncCommandExecutor.failover_strategy_executor:
  - 111
  redis.multidb.command_executor.SyncCommandExecutor.failure_detectors:
  - 76
  redis.multidb.command_executor.SyncCommandExecutor.pubsub:
  - 122
  redis.multidb.config.DatabaseConfig:
  - 58
  - 83
  redis.multidb.config.DatabaseConfig.default_circuit_breaker:
  - 91
  - 92
  redis.multidb.config.MultiDbConfig:
  - 97
  - 141
  - 142
  - 157
  redis.multidb.config.MultiDbConfig.databases:
  - 194
  - 163
  - 165
  - 198
  - 199
  - 168
  - 169
  - 174
  - 176
  - 179
  - 180
  - 183
  - 184
  - 185
  - 187
  - 191
  redis.multidb.config.MultiDbConfig.default_failover_strategy:
  - 225
  redis.multidb.config.MultiDbConfig.default_failure_detectors:
  - 212
  redis.multidb.config.MultiDbConfig.default_health_checks:
  - 221
  redis.multidb.config.default_event_dispatcher:
  - 53
  redis.multidb.database.AbstractDatabase.health_check_url:
  - 33
  - 27
  redis.multidb.database.AbstractDatabase.weight:
  - 21
  - 15
  redis.multidb.database.Database.__init__:
  - 114
  - 102
  redis.multidb.database.SyncDatabase:
  - 64
  redis.multidb.database.SyncDatabase.circuit:
  - 81
  - 87
  redis.multidb.database.SyncDatabase.client:
  - 75
  - 69
  redis.multidb.event.ActiveDatabaseChanged:
  - 10
  redis.multidb.event.CloseConnectionOnActiveDatabaseChanged:
  - 63
  redis.multidb.event.CloseConnectionOnActiveDatabaseChanged.listen:
  - 68
  - 70
  - 71
  - 72
  - 74
  - 75
  - 76
  redis.multidb.event.RegisterCommandFailure:
  - 80
  redis.multidb.event.RegisterCommandFailure.listen:
  - 88
  - 89
  redis.multidb.event.ResubscribeOnActiveDatabaseChanged:
  - 44
  redis.multidb.event.ResubscribeOnActiveDatabaseChanged.listen:
  - 57
  - 51
  - 53
  - 59
  redis.multidb.exception.InitialHealthCheckFailedError:
  - 21
  redis.multidb.exception.TemporaryUnavailableException:
  - 15
  redis.multidb.exception.UnhealthyDatabaseException:
  - 6
  redis.multidb.exception.UnhealthyDatabaseException.__init__:
  - 9
  redis.multidb.failover.DefaultFailoverStrategyExecutor:
  - 73
  redis.multidb.failover.DefaultFailoverStrategyExecutor.execute:
  - 103
  - 104
  - 107
  - 108
  - 110
  - 114
  - 115
  redis.multidb.failover.FailoverStrategy.database:
  - 19
  redis.multidb.failover.FailoverStrategy.set_databases:
  - 24
  redis.multidb.failover.FailoverStrategyExecutor.execute:
  - 49
  redis.multidb.failover.FailoverStrategyExecutor.failover_attempts:
  - 32
  redis.multidb.failover.FailoverStrategyExecutor.failover_delay:
  - 38
  redis.multidb.failover.FailoverStrategyExecutor.strategy:
  - 44
  redis.multidb.failover.WeightBasedFailoverStrategy:
  - 54
  redis.multidb.failover.WeightBasedFailoverStrategy.__init__:
  - 59
  redis.multidb.failover.WeightBasedFailoverStrategy.database:
  - 62
  - 63
  redis.multidb.failure_detector.CommandFailureDetector:
  - 34
  redis.multidb.failure_detector.CommandFailureDetector.__init__:
  - 64
  - 68
  - 45
  - 63
  redis.multidb.failure_detector.CommandFailureDetector._check_threshold:
  - 91
  - 92
  - 95
  redis.multidb.failure_detector.CommandFailureDetector._reset:
  - 99
  - 100
  redis.multidb.failure_detector.CommandFailureDetector.register_command_execution:
  - 85
  - 86
  redis.multidb.failure_detector.CommandFailureDetector.register_failure:
  - 72
  - 73
  - 78
  redis.multidb.failure_detector.FailureDetector.register_command_execution:
  - 24
  redis.multidb.failure_detector.FailureDetector.register_failure:
  - 19
  redis.multidb.failure_detector.FailureDetector.set_command_executor:
  - 29
  redis.multidb.healthcheck:
  - 18
  redis.multidb.healthcheck.AbstractHealthCheckPolicy.__init__:
  - 53
  redis.multidb.healthcheck.HealthCheck.check_health:
  - 24
  redis.multidb.healthcheck.HealthCheckPolicy:
  - 29
  redis.multidb.healthcheck.HealthCheckPolicy.execute:
  - 47
  redis.multidb.healthcheck.HealthCheckPolicy.health_check_delay:
  - 42
  redis.multidb.healthcheck.HealthCheckPolicy.health_check_probes:
  - 36
  redis.multidb.healthcheck.HealthyAllPolicy:
  - 72
  redis.multidb.healthcheck.HealthyAllPolicy.__init__:
  - 77
  redis.multidb.healthcheck.HealthyAllPolicy.execute:
  - 80
  - 81
  - 83
  - 88
  - 89
  redis.multidb.healthcheck.HealthyAnyPolicy:
  - 127
  redis.multidb.healthcheck.HealthyAnyPolicy.__init__:
  - 132
  redis.multidb.healthcheck.HealthyAnyPolicy.execute:
  - 137
  - 140
  - 142
  - 148
  - 152
  - 153
  - 155
  - 157
  redis.multidb.healthcheck.HealthyMajorityPolicy:
  - 94
  redis.multidb.healthcheck.HealthyMajorityPolicy.__init__:
  - 99
  redis.multidb.healthcheck.HealthyMajorityPolicy.execute:
  - 102
  - 103
  - 108
  - 110
  - 112
  - 116
  - 121
  - 122
  redis.multidb.healthcheck.LagAwareHealthCheck:
  - 191
  redis.multidb.healthcheck.LagAwareHealthCheck.__init__:
  - 212
  - 228
  - 231
  redis.multidb.healthcheck.LagAwareHealthCheck.check_health:
  - 259
  - 260
  - 261
  - 266
  - 267
  - 271
  - 272
  - 244
  - 279
  - 249
  - 250
  redis.multidb.healthcheck.PingHealthCheck:
  - 173
  redis.multidb.healthcheck.PingHealthCheck.check_health:
  - 178
  - 179
  - 182
  - 183
  - 184
  redis.ocsp.OCSPVerifier:
  - 171
  redis.ocsp.OCSPVerifier._bin2ascii:
  - 185
  - 187
  - 188
  redis.ocsp.OCSPVerifier._certificate_components:
  - 212
  - 204
  redis.ocsp.OCSPVerifier.build_certificate_url:
  - 258
  - 259
  - 261
  - 263
  - 264
  - 266
  - 254
  - 255
  redis.ocsp.OCSPVerifier.check_certificate:
  - 288
  - 270
  - 272
  - 273
  - 276
  - 278
  - 282
  - 285
  - 286
  redis.ocsp.OCSPVerifier.components_from_direct_connection:
  - 249
  - 250
  - 251
  - 244
  redis.ocsp.OCSPVerifier.components_from_socket:
  - 192
  - 197
  - 198
  - 200
  - 201
  redis.ocsp.OCSPVerifier.is_valid:
  - 291
  - 300
  - 301
  - 303
  - 305
  - 306
  - 308
  redis.ocsp._check_certificate:
  - 99
  - 68
  - 90
  - 100
  - 71
  - 104
  - 73
  - 105
  - 82
  - 51
  - 53
  - 55
  - 57
  - 58
  redis.ocsp._get_certificates:
  - 114
  - 110
  redis.ocsp._get_pubkey_hash:
  - 130
  - 131
  - 132
  - 133
  - 135
  - 137
  - 138
  - 139
  - 127
  redis.ocsp._verify_response:
  - 32
  - 33
  - 38
  - 39
  - 42
  - 45
  - 23
  - 25
  - 26
  - 29
  redis.ocsp.ocsp_staple_verifier:
  - 162
  - 163
  - 164
  - 167
  - 143
  - 148
  - 152
  - 153
  - 154
  - 155
  - 159
  redis.retry:
  - 18
  - 19
  - 21
  redis.retry.AbstractRetry:
  - 26
  redis.retry.AbstractRetry.__hash__:
  - 52
  redis.retry.AbstractRetry.__init__:
  - 36
  redis.retry.AbstractRetry.get_retries:
  - 63
  redis.retry.AbstractRetry.update_retries:
  - 69
  redis.retry.AbstractRetry.update_supported_errors:
  - 58
  - 59
  - 55
  redis.retry.Retry.__eq__:
  - 97
  - 91
  redis.retry.Retry.__init__:
  - 88
  redis.retry.Retry.call_with_retry:
  - 106
  - 112
  - 116
  - 118
  - 121
  - 122
  - 124
  - 125
  - 126
  redis.sentinel.Sentinel:
  - 203
  redis.sentinel.Sentinel.__init__:
  - 248
  - 241
  - 243
  redis.sentinel.Sentinel.__repr__:
  - 290
  - 291
  - 285
  - 286
  - 287
  redis.sentinel.Sentinel.check_master_state:
  - 298
  - 295
  redis.sentinel.Sentinel.discover_master:
  - 333
  - 334
  - 303
  - 310
  - 311
  - 313
  - 315
  - 317
  - 318
  redis.sentinel.Sentinel.discover_slaves:
  - 353
  - 354
  - 347
  - 348
  - 350
  redis.sentinel.Sentinel.execute_command:
  - 256
  - 261
  - 265
  - 267
  - 268
  - 269
  - 275
  - 276
  - 278
  - 281
  redis.sentinel.Sentinel.filter_slaves:
  - 338
  - 340
  - 341
  - 343
  redis.sentinel.Sentinel.master_for:
  - 390
  - 391
  - 392
  - 393
  - 365
  redis.sentinel.Sentinel.slave_for:
  - 421
  - 422
  - 423
  - 424
  - 403
  redis.sentinel.SentinelConnectionPool:
  - 142
  redis.sentinel.SentinelConnectionPool.__init__:
  - 160
  - 167
  - 150
  - 154
  - 158
  - 159
  redis.sentinel.SentinelConnectionPool.__repr__:
  - 175
  redis.sentinel.SentinelConnectionPool.get_master_address:
  - 195
  redis.sentinel.SentinelConnectionPool.owns_connection:
  - 192
  - 191
  redis.sentinel.SentinelConnectionPool.reset:
  - 180
  - 181
  redis.sentinel.SentinelConnectionPool.rotate_slaves:
  - 198
  - 199
  redis.sentinel.SentinelConnectionPoolProxy.__init__:
  - 107
  - 102
  redis.sentinel.SentinelConnectionPoolProxy.get_master_address:
  - 114
  - 115
  - 119
  - 120
  - 121
  redis.sentinel.SentinelConnectionPoolProxy.rotate_slaves:
  - 128
  - 129
  - 130
  - 132
  - 135
  - 125
  - 126
  - 127
  redis.sentinel.SentinelManagedConnection.__init__:
  - 26
  - 27
  redis.sentinel.SentinelManagedConnection.__repr__:
  - 32
  - 35
  redis.sentinel.SentinelManagedConnection._connect_retry:
  - 49
  - 51
  - 52
  - 54
  - 56
  redis.sentinel.SentinelManagedConnection.connect:
  - 62
  redis.sentinel.SentinelManagedConnection.connect_to:
  - 43
  redis.sentinel.SentinelManagedConnection.read_response:
  - 72
  - 84
  - 78
  redis.typing:
  - 16
  - 45
  - 46
  - 47
  redis.typing.CommandsProtocol.execute_command:
  - 53
  redis.utils:
  - 169
  - 14
  - 21
  - 22
  - 23
  - 25
  redis.utils._get_filterable_args:
  - 175
  - 180
  - 181
  - 182
  - 183
  - 184
  - 185
  redis.utils._set_info_logger:
  - 244
  - 248
  - 249
  - 250
  - 251
  - 252
  - 253
  redis.utils.check_protocol_version:
  - 259
  - 261
  - 263
  redis.utils.compare_versions:
  - 290
  - 298
  - 299
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  - 307
  - 308
  - 310
  - 311
  - 313
  redis.utils.deprecated_args:
  - 201
  - 195
  - 199
  redis.utils.deprecated_args._check_deprecated_args:
  - 205
  - 206
  - 207
  - 208
  - 209
  - 215
  - 216
  redis.utils.deprecated_args.decorator:
  - 232
  - 221
  - 223
  redis.utils.deprecated_args.decorator.async_wrapper:
  - 225
  - 226
  - 227
  redis.utils.deprecated_args.decorator.wrapper:
  - 234
  - 235
  - 236
  redis.utils.deprecated_function:
  - 124
  redis.utils.deprecated_function.decorator:
  - 129
  - 131
  - 139
  redis.utils.deprecated_function.decorator.async_wrapper:
  - 133
  - 134
  redis.utils.deprecated_function.decorator.wrapper:
  - 141
  - 142
  redis.utils.dict_merge:
  - 85
  - 84
  - 77
  redis.utils.dummy_fail:
  - 372
  redis.utils.dummy_fail_async:
  - 379
  redis.utils.ensure_string:
  - 320
  - 321
  - 322
  redis.utils.experimental:
  - 386
  - 391
  redis.utils.experimental.new_init:
  - 393
  - 398
  redis.utils.experimental_args:
  - 458
  - 462
  redis.utils.experimental_args._check_experimental_args:
  - 466
  - 467
  - 468
  - 469
  - 470
  - 472
  - 473
  redis.utils.experimental_args.decorator:
  - 488
  - 476
  - 478
  redis.utils.experimental_args.decorator.async_wrapper:
  - 480
  - 481
  - 482
  - 483
  redis.utils.experimental_args.decorator.wrapper:
  - 490
  - 491
  - 492
  - 493
  redis.utils.experimental_method:
  - 416
  redis.utils.experimental_method.decorator:
  - 431
  - 421
  - 423
  redis.utils.experimental_method.decorator.async_wrapper:
  - 425
  - 426
  redis.utils.experimental_method.decorator.wrapper:
  - 433
  - 434
  redis.utils.extract_expire_flags:
  - 335
  - 336
  - 337
  - 338
  - 339
  - 340
  - 341
  - 342
  - 345
  - 346
  - 347
  - 348
  - 349
  - 350
  - 353
  - 354
  - 355
  - 356
  - 357
  - 358
  - 359
  - 360
  redis.utils.format_error_message:
  - 280
  - 278
  redis.utils.from_url:
  - 48
  - 56
  redis.utils.get_lib_version:
  - 271
  redis.utils.list_keys_to_dict:
  - 91
  redis.utils.merge_result:
  - 103
  - 105
  - 106
  - 107
  - 109
  - 95
  redis.utils.pipeline:
  - 61
  - 62
  - 63
  redis.utils.safe_str:
  - 73
  redis.utils.str_if_bytes:
  - 68
  redis.utils.truncate_text:
  - 366
  redis.utils.warn_deprecated:
  - 120
  - 116
  - 118
  redis.utils.warn_deprecated_arg_usage:
  - 162
  - 164
  - 166
  redis.utils.warn_experimental:
  - 412
  redis.utils.warn_experimental_arg_usage:
  - 452
Fuzzer filename: /src/fuzz_func.py
Inheritance:
  redis._parsers.base.AsyncBaseParser:
  - BaseParser
  redis._parsers.base.AsyncPushNotificationsParser:
  - Protocol
  redis._parsers.base.BaseParser:
  - ABC
  redis._parsers.base.MaintenanceNotificationsParser: []
  redis._parsers.base.PushNotificationsParser:
  - Protocol
  redis._parsers.base._AsyncRESPBase:
  - AsyncBaseParser
  redis._parsers.base._RESPBase:
  - BaseParser
  redis._parsers.commands.AbstractCommandsParser: []
  redis._parsers.commands.AsyncCommandsParser:
  - AbstractCommandsParser
  redis._parsers.commands.CommandPolicies: []
  redis._parsers.commands.CommandsParser:
  - AbstractCommandsParser
  redis._parsers.commands.RequestPolicy:
  - Enum
  redis._parsers.commands.ResponsePolicy:
  - Enum
  redis._parsers.encoders.Encoder: []
  redis._parsers.hiredis._AsyncHiredisParser:
  - AsyncBaseParser
  - AsyncPushNotificationsParser
  redis._parsers.hiredis._HiredisParser:
  - BaseParser
  - PushNotificationsParser
  redis._parsers.hiredis._HiredisReaderArgs:
  - TypedDict
  redis._parsers.resp2._AsyncRESP2Parser:
  - _AsyncRESPBase
  redis._parsers.resp2._RESP2Parser:
  - _RESPBase
  redis._parsers.resp3._AsyncRESP3Parser:
  - _AsyncRESPBase
  - AsyncPushNotificationsParser
  redis._parsers.resp3._RESP3Parser:
  - PushNotificationsParser
  - _RESPBase
  redis._parsers.socket.SocketBuffer: []
  redis.asyncio.client.AsyncPubsubWorkerExceptionHandler:
  - Protocol
  redis.asyncio.client.AsyncResponseCallbackProtocol:
  - Protocol
  redis.asyncio.client.Monitor: []
  redis.asyncio.client.MonitorCommandInfo:
  - TypedDict
  redis.asyncio.client.Pipeline:
  - Redis
  redis.asyncio.client.PubSub: []
  redis.asyncio.client.PubsubWorkerExceptionHandler:
  - Protocol
  redis.asyncio.client.Redis:
  - AsyncSentinelCommands
  - AsyncRedisModuleCommands
  - AbstractRedis
  - AsyncCoreCommands
  redis.asyncio.client.ResponseCallbackProtocol:
  - Protocol
  redis.asyncio.cluster.AbstractStrategy:
  - ExecutionStrategy
  redis.asyncio.cluster.ClusterNode: []
  redis.asyncio.cluster.ClusterPipeline:
  - AsyncRedisClusterCommands
  - AbstractRedis
  - AbstractRedisCluster
  redis.asyncio.cluster.ExecutionStrategy:
  - ABC
  redis.asyncio.cluster.NodesManager: []
  redis.asyncio.cluster.PipelineCommand: []
  redis.asyncio.cluster.PipelineStrategy:
  - AbstractStrategy
  redis.asyncio.cluster.RedisCluster:
  - AsyncRedisClusterCommands
  - AbstractRedis
  - AbstractRedisCluster
  redis.asyncio.cluster.TransactionStrategy:
  - AbstractStrategy
  redis.asyncio.connection.AbstractConnection: []
  redis.asyncio.connection.AsyncConnectCallbackProtocol:
  - Protocol
  redis.asyncio.connection.BlockingConnectionPool:
  - ConnectionPool
  redis.asyncio.connection.ConnectCallbackProtocol:
  - Protocol
  redis.asyncio.connection.ConnectKwargs:
  - TypedDict
  redis.asyncio.connection.Connection:
  - AbstractConnection
  redis.asyncio.connection.ConnectionPool: []
  redis.asyncio.connection.RedisSSLContext: []
  redis.asyncio.connection.SSLConnection:
  - Connection
  redis.asyncio.connection.UnixDomainSocketConnection:
  - AbstractConnection
  redis.asyncio.connection._Sentinel: []
  redis.asyncio.http.http_client.AsyncHTTPClient:
  - ABC
  redis.asyncio.http.http_client.AsyncHTTPClientWrapper:
  - AsyncHTTPClient
  redis.asyncio.lock.Lock: []
  redis.asyncio.multidb.client.MultiDBClient:
  - AsyncRedisModuleCommands
  - AsyncCoreCommands
  redis.asyncio.multidb.client.Pipeline:
  - AsyncRedisModuleCommands
  - AsyncCoreCommands
  redis.asyncio.multidb.client.PubSub: []
  redis.asyncio.multidb.command_executor.AsyncCommandExecutor:
  - CommandExecutor
  redis.asyncio.multidb.command_executor.DefaultCommandExecutor:
  - BaseCommandExecutor
  - AsyncCommandExecutor
  redis.asyncio.multidb.config.DatabaseConfig: []
  redis.asyncio.multidb.config.InitialHealthCheck:
  - Enum
  redis.asyncio.multidb.config.MultiDbConfig: []
  redis.asyncio.multidb.database.AsyncDatabase:
  - AbstractDatabase
  redis.asyncio.multidb.database.Database:
  - AsyncDatabase
  - BaseDatabase
  redis.asyncio.multidb.event.AsyncActiveDatabaseChanged: []
  redis.asyncio.multidb.event.CloseConnectionOnActiveDatabaseChanged:
  - AsyncEventListenerInterface
  redis.asyncio.multidb.event.RegisterCommandFailure:
  - AsyncEventListenerInterface
  redis.asyncio.multidb.event.ResubscribeOnActiveDatabaseChanged:
  - AsyncEventListenerInterface
  redis.asyncio.multidb.failover.AsyncFailoverStrategy:
  - ABC
  redis.asyncio.multidb.failover.DefaultFailoverStrategyExecutor:
  - FailoverStrategyExecutor
  redis.asyncio.multidb.failover.FailoverStrategyExecutor:
  - ABC
  redis.asyncio.multidb.failover.WeightBasedFailoverStrategy:
  - AsyncFailoverStrategy
  redis.asyncio.multidb.failure_detector.AsyncFailureDetector:
  - ABC
  redis.asyncio.multidb.failure_detector.FailureDetectorAsyncWrapper:
  - AsyncFailureDetector
  redis.asyncio.multidb.healthcheck.AbstractHealthCheckPolicy:
  - HealthCheckPolicy
  redis.asyncio.multidb.healthcheck.HealthCheck:
  - ABC
  redis.asyncio.multidb.healthcheck.HealthCheckPolicies:
  - Enum
  redis.asyncio.multidb.healthcheck.HealthCheckPolicy:
  - ABC
  redis.asyncio.multidb.healthcheck.HealthyAllPolicy:
  - AbstractHealthCheckPolicy
  redis.asyncio.multidb.healthcheck.HealthyAnyPolicy:
  - AbstractHealthCheckPolicy
  redis.asyncio.multidb.healthcheck.HealthyMajorityPolicy:
  - AbstractHealthCheckPolicy
  redis.asyncio.multidb.healthcheck.LagAwareHealthCheck:
  - HealthCheck
  redis.asyncio.multidb.healthcheck.PingHealthCheck:
  - HealthCheck
  redis.asyncio.retry.Retry: []
  redis.asyncio.sentinel.MasterNotFoundError:
  - ConnectionError
  redis.asyncio.sentinel.Sentinel:
  - AsyncSentinelCommands
  redis.asyncio.sentinel.SentinelConnectionPool:
  - ConnectionPool
  redis.asyncio.sentinel.SentinelManagedConnection:
  - Connection
  redis.asyncio.sentinel.SentinelManagedSSLConnection:
  - SSLConnection
  - SentinelManagedConnection
  redis.asyncio.sentinel.SlaveNotFoundError:
  - ConnectionError
  redis.asyncio.utils.pipeline: []
  redis.auth.err.InvalidTokenSchemaErr:
  - Exception
  redis.auth.err.RequestTokenErr:
  - Exception
  redis.auth.err.TokenRenewalErr:
  - Exception
  redis.auth.idp.IdentityProviderConfigInterface:
  - ABC
  redis.auth.idp.IdentityProviderInterface:
  - ABC
  redis.auth.token.JWToken:
  - TokenInterface
  redis.auth.token.SimpleToken:
  - TokenInterface
  redis.auth.token.TokenInterface:
  - ABC
  redis.auth.token.TokenResponse: []
  redis.auth.token_manager.CredentialsListener: []
  redis.auth.token_manager.RetryPolicy: []
  redis.auth.token_manager.TokenManager: []
  redis.auth.token_manager.TokenManagerConfig: []
  redis.background.BackgroundScheduler: []
  redis.backoff.AbstractBackoff:
  - ABC
  redis.backoff.ConstantBackoff:
  - AbstractBackoff
  redis.backoff.DecorrelatedJitterBackoff:
  - AbstractBackoff
  redis.backoff.EqualJitterBackoff:
  - AbstractBackoff
  redis.backoff.ExponentialBackoff:
  - AbstractBackoff
  redis.backoff.ExponentialWithJitterBackoff:
  - AbstractBackoff
  redis.backoff.FullJitterBackoff:
  - AbstractBackoff
  redis.backoff.NoBackoff:
  - ConstantBackoff
  redis.cache.CacheConfig:
  - CacheConfigurationInterface
  redis.cache.CacheConfigurationInterface:
  - ABC
  redis.cache.CacheEntry: []
  redis.cache.CacheEntryStatus:
  - Enum
  redis.cache.CacheFactory:
  - CacheFactoryInterface
  redis.cache.CacheFactoryInterface:
  - ABC
  redis.cache.CacheInterface:
  - ABC
  redis.cache.CacheKey: []
  redis.cache.DefaultCache:
  - CacheInterface
  redis.cache.EvictionPolicy:
  - Enum
  redis.cache.EvictionPolicyInterface:
  - ABC
  redis.cache.EvictionPolicyType:
  - Enum
  redis.cache.LRUPolicy:
  - EvictionPolicyInterface
  redis.client.AbstractRedis: []
  redis.client.CaseInsensitiveDict:
  - dict
  redis.client.Monitor: []
  redis.client.Pipeline:
  - Redis
  redis.client.PubSub: []
  redis.client.PubSubWorkerThread: []
  redis.client.Redis:
  - RedisModuleCommands
  - CoreCommands
  - SentinelCommands
  redis.cluster.AbstractRedisCluster: []
  redis.cluster.AbstractStrategy:
  - ExecutionStrategy
  redis.cluster.ClusterNode: []
  redis.cluster.ClusterPipeline:
  - RedisCluster
  redis.cluster.ClusterPubSub:
  - PubSub
  redis.cluster.ExecutionStrategy:
  - ABC
  redis.cluster.LoadBalancer: []
  redis.cluster.LoadBalancingStrategy:
  - Enum
  redis.cluster.MaintNotificationsAbstractRedisCluster: []
  redis.cluster.NodeCommands: []
  redis.cluster.NodesManager: []
  redis.cluster.PipelineCommand: []
  redis.cluster.PipelineStrategy:
  - AbstractStrategy
  redis.cluster.RedisCluster:
  - RedisClusterCommands
  - MaintNotificationsAbstractRedisCluster
  - AbstractRedisCluster
  redis.cluster.TransactionStrategy:
  - AbstractStrategy
  redis.commands.bf.AbstractBloom: []
  redis.commands.bf.BFBloom:
  - BFCommands
  - AbstractBloom
  redis.commands.bf.CFBloom:
  - CFCommands
  - AbstractBloom
  redis.commands.bf.CMSBloom:
  - AbstractBloom
  - CMSCommands
  redis.commands.bf.TDigestBloom:
  - AbstractBloom
  - TDigestCommands
  redis.commands.bf.TOPKBloom:
  - AbstractBloom
  - TOPKCommands
  redis.commands.bf.commands.BFCommands: []
  redis.commands.bf.commands.CFCommands: []
  redis.commands.bf.commands.CMSCommands: []
  redis.commands.bf.commands.TDigestCommands: []
  redis.commands.bf.commands.TOPKCommands: []
  redis.commands.bf.info.BFInfo: []
  redis.commands.bf.info.CFInfo: []
  redis.commands.bf.info.CMSInfo: []
  redis.commands.bf.info.TDigestInfo: []
  redis.commands.bf.info.TopKInfo: []
  redis.commands.cluster.AsyncClusterDataAccessCommands:
  - ClusterDataAccessCommands
  - AsyncDataAccessCommands
  redis.commands.cluster.AsyncClusterManagementCommands:
  - ClusterManagementCommands
  - AsyncManagementCommands
  redis.commands.cluster.AsyncClusterMultiKeyCommands:
  - ClusterMultiKeyCommands
  redis.commands.cluster.AsyncRedisClusterCommands:
  - AsyncClusterDataAccessCommands
  - AsyncClusterMultiKeyCommands
  - AsyncFunctionCommands
  - AsyncRedisModuleCommands
  - AsyncClusterManagementCommands
  - AsyncScriptCommands
  - AsyncModuleCommands
  - AsyncACLCommands
  redis.commands.cluster.ClusterDataAccessCommands:
  - DataAccessCommands
  redis.commands.cluster.ClusterManagementCommands:
  - ManagementCommands
  redis.commands.cluster.ClusterMultiKeyCommands:
  - ClusterCommandsProtocol
  redis.commands.cluster.RedisClusterCommands:
  - ScriptCommands
  - ModuleCommands
  - RedisModuleCommands
  - ClusterDataAccessCommands
  - ACLCommands
  - FunctionCommands
  - ClusterMultiKeyCommands
  - ClusterManagementCommands
  - PubSubCommands
  redis.commands.core.ACLCommands:
  - CommandsProtocol
  redis.commands.core.AsyncBasicKeyCommands:
  - BasicKeyCommands
  redis.commands.core.AsyncCoreCommands:
  - AsyncClusterCommands
  - AsyncManagementCommands
  - AsyncDataAccessCommands
  - AsyncScriptCommands
  - AsyncFunctionCommands
  - AsyncPubSubCommands
  - AsyncModuleCommands
  - AsyncACLCommands
  redis.commands.core.AsyncDataAccessCommands:
  - AsyncListCommands
  - AsyncGeoCommands
  - AsyncSortedSetCommands
  - AsyncScanCommands
  - AsyncBasicKeyCommands
  - AsyncHashCommands
  - AsyncSetCommands
  - AsyncStreamCommands
  - AsyncHyperlogCommands
  redis.commands.core.AsyncManagementCommands:
  - ManagementCommands
  redis.commands.core.AsyncModuleCommands:
  - ModuleCommands
  redis.commands.core.AsyncScanCommands:
  - ScanCommands
  redis.commands.core.AsyncScript: []
  redis.commands.core.AsyncScriptCommands:
  - ScriptCommands
  redis.commands.core.BasicKeyCommands:
  - CommandsProtocol
  redis.commands.core.BitFieldOperation: []
  redis.commands.core.ClusterCommands:
  - CommandsProtocol
  redis.commands.core.CoreCommands:
  - ModuleCommands
  - DataAccessCommands
  - ManagementCommands
  - ScriptCommands
  - ACLCommands
  - FunctionCommands
  - ClusterCommands
  - PubSubCommands
  redis.commands.core.DataAccessCommands:
  - StreamCommands
  - ScanCommands
  - ListCommands
  - SortedSetCommands
  - HashCommands
  - SetCommands
  - HyperlogCommands
  - GeoCommands
  - BasicKeyCommands
  redis.commands.core.DataPersistOptions:
  - Enum
  redis.commands.core.FunctionCommands: []
  redis.commands.core.GeoCommands:
  - CommandsProtocol
  redis.commands.core.HashCommands:
  - CommandsProtocol
  redis.commands.core.HashDataPersistOptions:
  - Enum
  redis.commands.core.HotkeysMetricsTypes:
  - Enum
  redis.commands.core.HyperlogCommands:
  - CommandsProtocol
  redis.commands.core.ListCommands:
  - CommandsProtocol
  redis.commands.core.ManagementCommands:
  - CommandsProtocol
  redis.commands.core.ModuleCommands:
  - CommandsProtocol
  redis.commands.core.PubSubCommands:
  - CommandsProtocol
  redis.commands.core.ScanCommands:
  - CommandsProtocol
  redis.commands.core.Script: []
  redis.commands.core.ScriptCommands:
  - CommandsProtocol
  redis.commands.core.SetCommands:
  - CommandsProtocol
  redis.commands.core.SortedSetCommands:
  - CommandsProtocol
  redis.commands.core.StreamCommands:
  - CommandsProtocol
  redis.commands.json.ClusterPipeline:
  - JSONCommands
  redis.commands.json.JSON:
  - JSONCommands
  redis.commands.json.Pipeline:
  - JSONCommands
  redis.commands.json.commands.JSONCommands: []
  redis.commands.json.path.Path: []
  redis.commands.policies.AsyncBasePolicyResolver:
  - AsyncPolicyResolver
  redis.commands.policies.AsyncDynamicPolicyResolver:
  - AsyncBasePolicyResolver
  redis.commands.policies.AsyncPolicyResolver:
  - ABC
  redis.commands.policies.AsyncStaticPolicyResolver:
  - AsyncBasePolicyResolver
  redis.commands.policies.BasePolicyResolver:
  - PolicyResolver
  redis.commands.policies.DynamicPolicyResolver:
  - BasePolicyResolver
  redis.commands.policies.PolicyResolver:
  - ABC
  redis.commands.policies.StaticPolicyResolver:
  - BasePolicyResolver
  redis.commands.redismodules.AsyncRedisModuleCommands:
  - RedisModuleCommands
  redis.commands.redismodules.RedisModuleCommands: []
  redis.commands.search.AsyncPipeline:
  - Pipeline
  - AsyncSearchCommands
  - AsyncioPipeline
  redis.commands.search.AsyncSearch:
  - Search
  - AsyncSearchCommands
  redis.commands.search.AsyncSearch.BatchIndexer: []
  redis.commands.search.Pipeline:
  - SearchCommands
  - RedisPipeline
  redis.commands.search.Search:
  - SearchCommands
  redis.commands.search.Search.BatchIndexer: []
  redis.commands.search.aggregation.AggregateRequest: []
  redis.commands.search.aggregation.AggregateResult: []
  redis.commands.search.aggregation.Asc:
  - SortDirection
  redis.commands.search.aggregation.Cursor: []
  redis.commands.search.aggregation.Desc:
  - SortDirection
  redis.commands.search.aggregation.Limit: []
  redis.commands.search.aggregation.Reducer: []
  redis.commands.search.aggregation.SortDirection: []
  redis.commands.search.commands.AsyncSearchCommands:
  - SearchCommands
  redis.commands.search.commands.SearchCommands: []
  redis.commands.search.document.Document: []
  redis.commands.search.field.Field: []
  redis.commands.search.field.GeoField:
  - Field
  redis.commands.search.field.GeoShapeField:
  - Field
  redis.commands.search.field.NumericField:
  - Field
  redis.commands.search.field.TagField:
  - Field
  redis.commands.search.field.TextField:
  - Field
  redis.commands.search.field.VectorField:
  - Field
  redis.commands.search.hybrid_query.CombinationMethods:
  - Enum
  redis.commands.search.hybrid_query.CombineResultsMethod: []
  redis.commands.search.hybrid_query.HybridCursorQuery: []
  redis.commands.search.hybrid_query.HybridFilter:
  - Filter
  redis.commands.search.hybrid_query.HybridPostProcessingConfig: []
  redis.commands.search.hybrid_query.HybridQuery: []
  redis.commands.search.hybrid_query.HybridSearchQuery: []
  redis.commands.search.hybrid_query.HybridVsimQuery: []
  redis.commands.search.hybrid_query.VectorSearchMethods:
  - Enum
  redis.commands.search.hybrid_result.HybridCursorResult: []
  redis.commands.search.hybrid_result.HybridResult: []
  redis.commands.search.index_definition.IndexDefinition: []
  redis.commands.search.index_definition.IndexType:
  - Enum
  redis.commands.search.profile_information.ProfileInformation: []
  redis.commands.search.query.Filter: []
  redis.commands.search.query.GeoFilter:
  - Filter
  redis.commands.search.query.NumericFilter:
  - Filter
  redis.commands.search.query.Query: []
  redis.commands.search.query.SortbyField: []
  redis.commands.search.querystring.BaseNode:
  - Node
  redis.commands.search.querystring.DisjunctNode:
  - IntersectNode
  redis.commands.search.querystring.DistjunctUnion:
  - DisjunctNode
  redis.commands.search.querystring.GeoValue:
  - Value
  redis.commands.search.querystring.IntersectNode:
  - Node
  redis.commands.search.querystring.Node: []
  redis.commands.search.querystring.OptionalNode:
  - IntersectNode
  redis.commands.search.querystring.RangeValue:
  - Value
  redis.commands.search.querystring.ScalarValue:
  - Value
  redis.commands.search.querystring.TagValue:
  - Value
  redis.commands.search.querystring.UnionNode:
  - Node
  redis.commands.search.querystring.Value: []
  redis.commands.search.reducers.FieldOnlyReducer:
  - Reducer
  redis.commands.search.reducers.avg:
  - FieldOnlyReducer
  redis.commands.search.reducers.count:
  - Reducer
  redis.commands.search.reducers.count_distinct:
  - FieldOnlyReducer
  redis.commands.search.reducers.count_distinctish:
  - FieldOnlyReducer
  redis.commands.search.reducers.first_value:
  - Reducer
  redis.commands.search.reducers.max:
  - FieldOnlyReducer
  redis.commands.search.reducers.min:
  - FieldOnlyReducer
  redis.commands.search.reducers.quantile:
  - Reducer
  redis.commands.search.reducers.random_sample:
  - Reducer
  redis.commands.search.reducers.stddev:
  - FieldOnlyReducer
  redis.commands.search.reducers.sum:
  - FieldOnlyReducer
  redis.commands.search.reducers.tolist:
  - FieldOnlyReducer
  redis.commands.search.result.Result: []
  redis.commands.search.suggestion.Suggestion: []
  redis.commands.search.suggestion.SuggestionParser: []
  redis.commands.sentinel.AsyncSentinelCommands:
  - SentinelCommands
  redis.commands.sentinel.SentinelCommands: []
  redis.commands.timeseries.ClusterPipeline:
  - TimeSeriesCommands
  redis.commands.timeseries.Pipeline:
  - TimeSeriesCommands
  redis.commands.timeseries.TimeSeries:
  - TimeSeriesCommands
  redis.commands.timeseries.commands.TimeSeriesCommands: []
  redis.commands.timeseries.info.TSInfo: []
  redis.commands.vectorset.VectorSet:
  - VectorSetCommands
  redis.commands.vectorset.commands.CallbacksOptions:
  - Enum
  redis.commands.vectorset.commands.QuantizationOptions:
  - Enum
  redis.commands.vectorset.commands.VectorSetCommands:
  - CommandsProtocol
  redis.connection.AbstractConnection:
  - MaintNotificationsAbstractConnection
  - ConnectionInterface
  redis.connection.BlockingConnectionPool:
  - ConnectionPool
  redis.connection.CacheProxyConnection:
  - MaintNotificationsAbstractConnection
  - ConnectionInterface
  redis.connection.Connection:
  - AbstractConnection
  redis.connection.ConnectionInterface: []
  redis.connection.ConnectionPool:
  - MaintNotificationsAbstractConnectionPool
  - ConnectionPoolInterface
  redis.connection.ConnectionPoolInterface:
  - ABC
  redis.connection.HiredisRespSerializer: []
  redis.connection.MaintNotificationsAbstractConnection: []
  redis.connection.MaintNotificationsAbstractConnectionPool: []
  redis.connection.PythonRespSerializer: []
  redis.connection.SSLConnection:
  - Connection
  redis.connection.UnixDomainSocketConnection:
  - AbstractConnection
  redis.credentials.CredentialProvider: []
  redis.credentials.StreamingCredentialProvider:
  - CredentialProvider
  - ABC
  redis.credentials.UsernamePasswordCredentialProvider:
  - CredentialProvider
  redis.data_structure.WeightedList: []
  redis.driver_info.DriverInfo: []
  redis.event.AfterAsyncClusterInstantiationEvent: []
  redis.event.AfterConnectionReleasedEvent: []
  redis.event.AfterPooledConnectionsInstantiationEvent: []
  redis.event.AfterPubSubConnectionInstantiationEvent: []
  redis.event.AfterSingleConnectionInstantiationEvent: []
  redis.event.AsyncAfterConnectionReleasedEvent:
  - AfterConnectionReleasedEvent
  redis.event.AsyncEventListenerInterface:
  - ABC
  redis.event.AsyncOnCommandsFailEvent:
  - OnCommandsFailEvent
  redis.event.AsyncReAuthConnectionListener:
  - AsyncEventListenerInterface
  redis.event.ClientType:
  - Enum
  redis.event.EventDispatcher:
  - EventDispatcherInterface
  redis.event.EventDispatcherInterface:
  - ABC
  redis.event.EventException:
  - Exception
  redis.event.EventListenerInterface:
  - ABC
  redis.event.OnCommandsFailEvent: []
  redis.event.ReAuthConnectionListener:
  - EventListenerInterface
  redis.event.RegisterReAuthForAsyncClusterNodes:
  - EventListenerInterface
  redis.event.RegisterReAuthForPooledConnections:
  - EventListenerInterface
  redis.event.RegisterReAuthForPubSub:
  - EventListenerInterface
  redis.event.RegisterReAuthForSingleConnection:
  - EventListenerInterface
  redis.exceptions.AskError:
  - ResponseError
  redis.exceptions.AuthenticationError:
  - ConnectionError
  redis.exceptions.AuthenticationWrongNumberOfArgsError:
  - ResponseError
  redis.exceptions.AuthorizationError:
  - ConnectionError
  redis.exceptions.BusyLoadingError:
  - ConnectionError
  redis.exceptions.ChildDeadlockedError:
  - Exception
  redis.exceptions.ClusterCrossSlotError:
  - ResponseError
  redis.exceptions.ClusterDownError:
  - ClusterError
  - ResponseError
  redis.exceptions.ClusterError:
  - RedisError
  redis.exceptions.ConnectionError:
  - RedisError
  redis.exceptions.CrossSlotTransactionError:
  - RedisClusterException
  redis.exceptions.DataError:
  - RedisError
  redis.exceptions.ExecAbortError:
  - ResponseError
  redis.exceptions.ExternalAuthProviderError:
  - ConnectionError
  redis.exceptions.IncorrectPolicyType:
  - Exception
  redis.exceptions.InvalidPipelineStack:
  - RedisClusterException
  redis.exceptions.InvalidResponse:
  - RedisError
  redis.exceptions.LockError:
  - ValueError
  - RedisError
  redis.exceptions.LockNotOwnedError:
  - LockError
  redis.exceptions.MasterDownError:
  - ClusterDownError
  redis.exceptions.MaxConnectionsError:
  - ConnectionError
  redis.exceptions.ModuleError:
  - ResponseError
  redis.exceptions.MovedError:
  - AskError
  redis.exceptions.NoPermissionError:
  - ResponseError
  redis.exceptions.NoScriptError:
  - ResponseError
  redis.exceptions.OutOfMemoryError:
  - ResponseError
  redis.exceptions.PubSubError:
  - RedisError
  redis.exceptions.ReadOnlyError:
  - ResponseError
  redis.exceptions.RedisClusterException:
  - Exception
  redis.exceptions.RedisError:
  - Exception
  redis.exceptions.ResponseError:
  - RedisError
  redis.exceptions.SlotNotCoveredError:
  - RedisClusterException
  redis.exceptions.TimeoutError:
  - RedisError
  redis.exceptions.TryAgainError:
  - ResponseError
  redis.exceptions.WatchError:
  - RedisError
  redis.http.http_client.HttpClient: []
  redis.http.http_client.HttpError:
  - Exception
  redis.http.http_client.HttpResponse: []
  redis.lock.Lock: []
  redis.maint_notifications.EndpointType: []
  redis.maint_notifications.MaintNotificationsConfig: []
  redis.maint_notifications.MaintNotificationsConnectionHandler: []
  redis.maint_notifications.MaintNotificationsPoolHandler: []
  redis.maint_notifications.MaintenanceNotification:
  - ABC
  redis.maint_notifications.MaintenanceState: []
  redis.maint_notifications.NodeFailedOverNotification:
  - MaintenanceNotification
  redis.maint_notifications.NodeFailingOverNotification:
  - MaintenanceNotification
  redis.maint_notifications.NodeMigratedNotification:
  - MaintenanceNotification
  redis.maint_notifications.NodeMigratingNotification:
  - MaintenanceNotification
  redis.maint_notifications.NodeMovingNotification:
  - MaintenanceNotification
  redis.maint_notifications.OSSMaintNotificationsHandler: []
  redis.maint_notifications.OSSNodeMigratedNotification:
  - MaintenanceNotification
  redis.maint_notifications.OSSNodeMigratingNotification:
  - MaintenanceNotification
  redis.multidb.circuit.BaseCircuitBreaker:
  - CircuitBreaker
  redis.multidb.circuit.CircuitBreaker:
  - ABC
  redis.multidb.circuit.PBCircuitBreakerAdapter:
  - BaseCircuitBreaker
  redis.multidb.circuit.PBListener: []
  redis.multidb.circuit.State:
  - Enum
  redis.multidb.client.MultiDBClient:
  - RedisModuleCommands
  - CoreCommands
  redis.multidb.client.Pipeline:
  - RedisModuleCommands
  - CoreCommands
  redis.multidb.client.PubSub: []
  redis.multidb.command_executor.BaseCommandExecutor:
  - CommandExecutor
  redis.multidb.command_executor.CommandExecutor:
  - ABC
  redis.multidb.command_executor.DefaultCommandExecutor:
  - SyncCommandExecutor
  - BaseCommandExecutor
  redis.multidb.command_executor.SyncCommandExecutor:
  - CommandExecutor
  redis.multidb.config.DatabaseConfig: []
  redis.multidb.config.InitialHealthCheck:
  - Enum
  redis.multidb.config.MultiDbConfig: []
  redis.multidb.database.AbstractDatabase:
  - ABC
  redis.multidb.database.BaseDatabase:
  - AbstractDatabase
  redis.multidb.database.Database:
  - BaseDatabase
  - SyncDatabase
  redis.multidb.database.SyncDatabase:
  - AbstractDatabase
  redis.multidb.event.ActiveDatabaseChanged: []
  redis.multidb.event.CloseConnectionOnActiveDatabaseChanged:
  - EventListenerInterface
  redis.multidb.event.RegisterCommandFailure:
  - EventListenerInterface
  redis.multidb.event.ResubscribeOnActiveDatabaseChanged:
  - EventListenerInterface
  redis.multidb.exception.InitialHealthCheckFailedError:
  - Exception
  redis.multidb.exception.NoValidDatabaseException:
  - Exception
  redis.multidb.exception.TemporaryUnavailableException:
  - Exception
  redis.multidb.exception.UnhealthyDatabaseException:
  - Exception
  redis.multidb.failover.DefaultFailoverStrategyExecutor:
  - FailoverStrategyExecutor
  redis.multidb.failover.FailoverStrategy:
  - ABC
  redis.multidb.failover.FailoverStrategyExecutor:
  - ABC
  redis.multidb.failover.WeightBasedFailoverStrategy:
  - FailoverStrategy
  redis.multidb.failure_detector.CommandFailureDetector:
  - FailureDetector
  redis.multidb.failure_detector.FailureDetector:
  - ABC
  redis.multidb.healthcheck.AbstractHealthCheckPolicy:
  - HealthCheckPolicy
  redis.multidb.healthcheck.HealthCheck:
  - ABC
  redis.multidb.healthcheck.HealthCheckPolicies:
  - Enum
  redis.multidb.healthcheck.HealthCheckPolicy:
  - ABC
  redis.multidb.healthcheck.HealthyAllPolicy:
  - AbstractHealthCheckPolicy
  redis.multidb.healthcheck.HealthyAnyPolicy:
  - AbstractHealthCheckPolicy
  redis.multidb.healthcheck.HealthyMajorityPolicy:
  - AbstractHealthCheckPolicy
  redis.multidb.healthcheck.LagAwareHealthCheck:
  - HealthCheck
  redis.multidb.healthcheck.PingHealthCheck:
  - HealthCheck
  redis.ocsp.OCSPVerifier: []
  redis.retry.AbstractRetry: []
  redis.retry.Retry: []
  redis.sentinel.MasterNotFoundError:
  - ConnectionError
  redis.sentinel.Sentinel:
  - SentinelCommands
  redis.sentinel.SentinelConnectionPool:
  - ConnectionPool
  redis.sentinel.SentinelConnectionPoolProxy: []
  redis.sentinel.SentinelManagedConnection:
  - Connection
  redis.sentinel.SentinelManagedSSLConnection:
  - SSLConnection
  - SentinelManagedConnection
  redis.sentinel.SlaveNotFoundError:
  - ConnectionError
  redis.typing.ClusterCommandsProtocol:
  - CommandsProtocol
  redis.typing.CommandsProtocol:
  - Protocol
ep:
  func_name: TestInput
  module: '...fuzz_func'
